👨🏻💻 programming/◽ c, c++2021. 3. 13. 20:16(c++) 조건 변수(Conditional Variable)
《출처. 시작하자! C++17 프로그래밍 (박헌재 지음)》 독립적으로 실행되는 스레드라 하더라도 경우에 따라 다른 스레드에 전달할 정보가 있기 마련이다. 전달하는 방법 중 우리가 공부할 방법은 '조건변수(Conditional Variable)' 라고 부르는 기능이다. 조건변수는 주로 게임에서 많이 사용하는 데 달리기 시합처럼 모든 선수가 출발선상에 대기한 상태에서 총소리와 함께 출발하도록 스레드 모두 대기 상태로 만들고 동시에 공동 경쟁을 수행한다. 조건변수는 단지 변수를 통해 신호를 주고 받는 기능만을 제공할 뿐 자체 잠금 기능이 없다. 따라서 다수의 스레드에 의해 실행되는 작업이 안전성을 보장하기 위해 별도 뮤텍스를 사용한다. 가장 중요한 함수는 wait(), notify_all() 함수이다. 조건변..