ThreadPool 종료는 채널을 닫고 worker를 join하는 순서다
sender를 drop하면 더 이상 job이 오지 않음을 worker가 감지하고, 루프를 빠져나온 뒤 join으로 종료를 기다린다.
새 job 차단
loop break
스레드 함수 반환
정리 완료
| 구분 | 의미 | 판단 |
|---|---|---|
| sender 유지 | worker가 recv에서 대기 | 종료 불가 |
| sender drop | recv가 Err | 루프 종료 가능 |
| join 누락 | 정리 시점 불명확 | graceful shutdown 아님 |
핵심 종료 신호는 별도 플래그보다 채널 닫힘을 worker가 관찰하게 만드는 것이다.