Choose a default theme

You can change your theme from the menu

조건 변수

조건 변수는 공유 상태가 원하는 조건을 만족할 때까지 실행 흐름이 기다리도록 돕는 동기화 수단이다.

원리

보통 뮤텍스와 함께 사용한다. 대기 연산은 잠금을 놓고 기다린 뒤 다시 획득하며, 깨어난 흐름은 공유 상태의 조건을 재검사한다.

예시

생산자·소비자 큐에서 소비자는 큐가 비어 있으면 기다리고 생산자가 항목을 넣으면 알림을 보낼 수 있다.

주의할 점

알림 자체를 데이터나 영구 저장된 사건으로 취급하지 않는다. 깨어났어도 조건이 다시 바뀌었을 수 있으므로 while로 조건을 재검사하는 패턴이 중요하다.

참고 자료