take는 빈 Queue에서 CPU를 쓰지 않고 기다리며 interrupt가 종료 신호를 깨웁니다.
put·take 대기
새 작업 수용 정책
take 깨우기
남은 작업 처리
완료·취소·실패
핵심: 정상 종료와 오류 중단을 구분하고 남은 작업을 비울지 버릴지 명시합니다.