이때는 워커 스레드를 1개로 설정하고 CPU 개수만큼 서버를 구동할 것을 권장합니다. NetServer를 싱글스레드로 구동할 때는 이렇게 하면 됩니다.
void main() { ... CThreadPool* p = CThreadPool::Create(..., 0); // ➊ CStartServerParameter param; ... param. = p; // ➋ param. = p; netServer->Start(param); while (true) { ... // ➌ 최대 10밀리초까지 기다리면서, // thread pool에 쌓인 이벤트를 처리한다. p->Process(10); } }
➊ 스레드가 전혀 없는 스레드 풀 객체를 생성합니다.
➋ NetServer가 이 스레드 풀 객체를 사용하도록 설정합니다.
➌ 수동으로 스레드 풀을 숨쉬게(?) 하는 함수를 지속적으로 호출합니다.