lock과 lockInterruptibly는 대기 중 interrupt 결과가 다르다

둘 다 획득 뒤 임계 영역을 보호하지만 취소 요청을 대기 단계에서 받을 수 있는지가 다릅니다.

lock

대기 중 interrupt로 즉시 중단 안 됨

lockInterruptibly

InterruptedException으로 취소 경로

획득 뒤 interrupt

업무 loop가 별도 확인

핵심: shutdown 가능한 컴포넌트는 중단 불가능한 lock 대기가 종료를 막지 않는지 확인합니다.