종료 방식은 수용·잔여 작업·깨우기·회수 계약을 검증한다
shutdown API 이름만으로 끝내지 않고 호출 뒤 어떤 요청과 상태가 허용되는지 확인합니다.
| 질문 | 정해야 할 계약 | 검증 |
|---|---|---|
| 새 작업 | 즉시 거부 시점 | submit 경쟁 |
| 남은 작업 | drain·반환·폐기 | 개수 보존 |
| 대기 worker | interrupt·signal | take 해제 |
| 호출 thread | join·timeout | 완료 관찰 |
| 재호출 | idempotent | 상태 불변 |
핵심: 반복 호출과 종료 경쟁에서도 같은 결과를 내도록 idempotent한 상태 전이를 설계합니다.