graceful shutdown

ThreadPool 종료는 채널을 닫고 worker를 join하는 순서다

sender를 drop하면 더 이상 job이 오지 않음을 worker가 감지하고, 루프를 빠져나온 뒤 join으로 종료를 기다린다.

01 drop sender작업 투입구 닫기

새 job 차단

02 recv 실패worker가 종료 신호 감지

loop break

03 thread finish현재 job 마무리

스레드 함수 반환

04 joinmain이 종료 대기

정리 완료

구분의미판단
sender 유지worker가 recv에서 대기종료 불가
sender droprecv가 Err루프 종료 가능
join 누락정리 시점 불명확graceful shutdown 아님

핵심 종료 신호는 별도 플래그보다 채널 닫힘을 worker가 관찰하게 만드는 것이다.