종료 방식은 수용·잔여 작업·깨우기·회수 계약을 검증한다

shutdown API 이름만으로 끝내지 않고 호출 뒤 어떤 요청과 상태가 허용되는지 확인합니다.

질문정해야 할 계약검증
새 작업즉시 거부 시점submit 경쟁
남은 작업drain·반환·폐기개수 보존
대기 workerinterrupt·signaltake 해제
호출 threadjoin·timeout완료 관찰
재호출idempotent상태 불변

핵심: 반복 호출과 종료 경쟁에서도 같은 결과를 내도록 idempotent한 상태 전이를 설계합니다.