[C++11] std::condition_variable_any

Short Articles 2013. 3. 12. 18:23

cppreference.com 의 condition_variable 문서에 나와 있는 예제 코드를 조금 수정해 본 것입니다.


표준 입력을 통해 문자열을 입력 받는 스레드에서 큐에 문자열을 집어 넣고 notify_one 을 호출하면


대기중이던 5 개의 스레드 중 하나가 큐에 적제된 문자열을 가져다 화면에 출력하는 코드입니다.

코드를 실행시켜 보면 대략 다음과 같은 식이 됩니다.


밀린 입력이 다시 처리될 때 한 스레드에서 일괄 처리되는 것은 좋은 모습이 아니므로
다음과 같이 조금 바꿔 주면 다른 스레드들에 분배됩니다.

: