用條件變量來解決生產者消費者問題

在上一篇文章中,我使用了匿名信號量 什麼是條件變量? 我們可以設想一個場景:線程A需要某個條件成立才能繼續執行,否則一直等待下去,而線程B執行過程中使線程的執行條件成立,並且喚醒A。 舉個例子,在生產者消費者模型中,消費者如果看到緩衝區爲空時,就等待,而生產者往緩衝區添加完數據後,喚醒消費者。 其中這個場景中,可以POSIX的條件變量來實現。 以下是條件變量所需要的函數 pthread_cond_
相關文章
相關標籤/搜索