비동기 프로그래밍 과 CompletableFuture 동기,비동기 프로그래밍을 설명해야한다면 항상 같이 따라오는게 논블로킹과 블로킹일 것이라고 생각한다. 이에대해 내가 알고있는 부분에 대해 기술하고 JAVA 1.8 부터 지원하는 CompletableFuture을 사용해 비동기, 논블로킹에 대해 기록할 예정이다. 블로킹, 논 블로킹 블로킹 이란 누군가의 행위로 인해 다른 누군가가 제한되거나 대기해야 하는 상태 논 블로킹 이란 누군가의 행위로 인해 다른 누군가가 제한되지 않거나 대기하지 않는 상태 동기 - 하나의 함수가 정해진 코드를 실행하는 과정에서, 다른 함수를 호출함으로써 제한되거나 대기하는 상태 비동기 - 하나의 함수가 정해진 코드를 실행하는 과정에서, 다른 함수를 호출하고도 제한되거나 대기하지 않는..
필자는 항상 웹서버만 개발해오다가 이번에 게임서버를 만드는 프로젝트를 맡아서 개발중인데, Socket 에 대해 항상 어려운 부분이 많고 Netty가 이미 로우 레벨의 네트워크를 잘 구현해놓았기 때문에 로우 레벨에서 어떻게 작동하는지 알기 어려웠다. 그래서 이 글을 통해서 소켓에 대해 이해하기 어려운 부분을 간략하게 설명하고 이해해 볼려고 한다. 소켓 프로그래밍 네트워크 프로그래밍 에서 가장 많이 사용하는 것이 소켓 이다. 기본적으로 파일 핸들과 비슷하다. 우리는 디스크에 데이터를 기록하거나 책을 읽어 들일 때 파일 핸들을 사용한다. 이처럼 네트워크로 데이터를 전송하거나 받을 때 소켓 핸들을 사용한다. 소켓 핸들 방식 온라인 게임 프로그래밍에서 소켓은 파일 핸들 방식과 다르다. 게임 서버에서는 다루어야 하..
- Total
- Today
- Yesterday
- DispatcherServlet
- jpa
- 논블로킹
- 네트워크
- TCP
- lock
- R-Tree
- spring
- github
- spring boot
- 비동기
- db
- 쓰레드
- 공간쿼리
- 다운로드
- mysql
- 스프링
- spring mvc
- Spring Security
- Index
- jenkins
- Excel
- 영속성 컨텍스트
- java
- database
- 인덱스
- GIS
- oauth2
- 데이터베이스
- thread
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |