1. 程式人生 > >linux多執行緒學習(七)——實現“生產者和消費者”

linux多執行緒學習(七)——實現“生產者和消費者”

在上一篇文章中,利用訊號量實現了執行緒間的互斥,這一篇將要利用訊號量的互斥同步機制來實現一個經典例項,就是“生產者和消費者”。

1、簡單描述生產者和消費者的問題。

有一個緩衝區和兩個執行緒:生產者和消費者。生產者把產品放入緩衝區,而消費者從緩衝區中拿走。當緩衝區滿時,生產者必須等待;另外,當緩衝區空時,消費者必須等待,並且緩衝區不能同時進行生產者和消費者的操作。

從上面的經典例子中,結合了多執行緒的同時性程式設計問題。學習執行緒算是告了一段落,在以後的程式設計應用中,希望能落實到實踐中去,大家一起加油~~