ReentrantLock 임계 영역 골격

명시적 잠금은 획득과 해제의 모든 종료 경로를 코드가 책임진다.

  1. 인터럽트 획득

    lockInterruptibly로 입구 대기 중 취소를 허용한다.

  2. try 진입

    획득 성공 직후 예외 안전 구간을 시작한다.

  3. 상태와 신호

    술어 검사, 변경, Condition 알림을 같은 락 안에서 한다.

  4. finally 해제

    정상 반환과 예외 모두에서 정확히 한 번 unlock한다.

핵심: 획득에 성공하지 않은 경로에서는 unlock을 호출하지 않는다.