본문 바로가기
게임 개발/Game Server

IOCP란?

Socket 방식의 게임 서버이다.

Input Output(I/O) Completion Port 의 약자다.

 

IOCP는 다중 프로세서 시스템에서 여러 비동기 I/O 요청을 처리하기 위한 효율적인 스레딩 모델을 제공한다.

 

프로세스가 IOCP를 생성할 때, 시스템은 이러한 요청들을 처리하는 것이 유일한 목적인 스레드에 관한 관련 큐(대기열) 객체를 생성한다.

 

많은 동시적 비동기 I/O요청을 처리하는 프로세스는 I/O요청을 받고 스레드를 생성하는 것보다

미리 할당된 스레드 풀과 함께 접속상태의 IOCP를 사용하여 더 빠르고 효율적으로 처리할 수 있다. 

 

참고 : https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports

 

I/O Completion Ports - Win32 apps

I/O completion ports provide an efficient threading model for processing multiple asynchronous I/O requests on a multiprocessor system.

learn.microsoft.com