BlockingQueue printer의 취소 구성 요소

busy polling 없이 작업 전달과 대기 해제를 같은 worker owner가 관리한다.

Printer worker

queue.take

item이 없으면 WAITING한다

blocking

submit

producer가 job을 추가한다

input

interrupt

take를 예외로 깨운다

cancel

join

stop 호출자가 종료를 확인한다

reap

핵심: queue에 남은 job을 폐기·보존·재처리할지 기능 정책으로 별도 결정한다.