더북(TheBook)

3.6.1 멀티스레딩

블로킹 I/O의 단점을 극복하는 한 가지 방법은 블로킹 가능성이 있는 각 함수의 호출을 별도의 스레드에서 수행하는 것이다. 앞서 예제에 적용하면 서버를 최소 7개의 스레드로 구성한다. 클라이언트마다 하나씩, 그리고 리스닝 소켓에 하나, 나머지 하나는 게임 시뮬레이션에 쓴다. 그림 3-1에 이 같은 구성에 따른 절차를 묘사했다.

 

▲ 그림 3-1 멀티스레딩 절차

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.