임계 영역 안에는 상태 판정과 commit만 두고 기다림은 분리한다

lock 목적은 불변식 보호이고 조건 대기 목적은 다른 thread가 상태를 바꿀 기회를 주는 것입니다.

책임lock 안이유
조건 검사같은 상태 snapshot
Queue 변경원자 commit
sleep backoff아니오다른 thread 허용
로그 I/O아니오긴 점유 방지
signal상태 변경 뒤조건 공개

핵심: I/O·backoff·긴 계산은 가능한 한 lock 밖으로 이동합니다.