1. 程式人生 > >條件變量使用總結

條件變量使用總結

發送 mut 檢查 sig www. pthread cnblogs class https

使用條件變量,調用signal/broadcast的時候,無法知道是否已經有線程等在wait上了。因此,一般要先改變條件狀態,然後再發送signal/broadcast信號。然後在wait調用線程上先檢查條件狀態,只有當條件狀態為假的時候才進入pthread_cond_wait進行等待,從而防止丟失signal/broadcast事件。並且檢查條件、pthread_cond_wait,修改條件、signal/broadcast都要在同一個mutex的保護下進行。

https://www.cnblogs.com/liyuan989/p/4240271.html

條件變量使用總結