조건 변수 wait-predicate-not 구조
predicate
lock mutex공유 상태를 보호
wait(pred)조건이 거짓이면 unlock 후 대기
wake upnotify 또는 spurious wakeup
조건자 점검참일 때만 임계 영역 진행
lock mutex→wait(pred)→wake up→조건자 점검
조건 변수 wait-predicate-not 기준
점검
while 모델깨어날 때마다 조건을 다시 보는 while 루프로 이해합니다.
상태 변경producer는 상태를 바꾼 뒤 notify를 호출합니다.
unique_lockwait가 unlock/relock을 수행하려면 unique_lock이
필요합니다.
중복 알림알림 횟수와 처리 횟수를 같다고 가정하지 않습니다.