if 대기와 while 대기의 차이

깨어난 뒤 현재 술어를 다시 읽는지 여부가 경쟁 상황의 안전성을 결정한다.

if 검사

대기 전에 한 번 확인하고 복귀 후 바로 상태를 변경한다.

선점에 취약

while 검사

모니터 재획득 뒤 조건이 참인지 반복해서 평가한다.

경쟁에 안전

알림 해석

행동 허가로 받아들이면 이미 소비된 값을 다시 꺼낸다.

잘못된 전제

재검사 해석

상태 변화 가능성만 전달받고 최신 큐를 기준으로 결정한다.

올바른 모델
결론조건 알림은 예약권이 아니라 다시 검사할 기회다.

핵심: 여러 대기자와 임의 복귀를 같은 while 경로로 처리할 수 있다.