새 작업을 막고 남은 Queue를 처리한 뒤 대기 중인 worker를 깨워 종료하고 join합니다.
새 submit 거부
기존 Queue 처리
interrupt·poison pill
loop 종료
자원·결과 회수
핵심: running flag만 바꾸고 take 대기를 깨우지 않으면 종료가 멈출 수 있습니다.