스레드 풀은 요청마다 새 스레드 대신 작업 큐를 둔다
listener는 job을 큐에 넣고, 미리 만든 worker들이 하나씩 가져가 처리해 생성 비용과 폭주를 줄인다.
- TcpListener accept
- job 생성
- sender로 큐에 넣음
- 요청 폭주를 큐에서 완충
- 고정 개수 스레드
- receiver에서 job 수신
- FnOnce 실행
- 끝나면 다음 job 대기
| 구분 | 의미 | 판단 |
|---|---|---|
| 새 스레드 방식 | 요청마다 spawn | 부하가 늘면 생성 비용 폭증 |
| 풀 방식 | 고정 worker 재사용 | 동시 처리량을 제한 |
| 큐 | 대기 작업 저장 | worker가 처리 속도 결정 |
핵심 스레드 풀은 병렬성을 무한히 늘리는 것이 아니라 동시에 처리할 일의 수를 통제하는 구조다.