2
這是一個設計問題。pthread多線程
我有6個線程總數和兩個FIFO隊列。 6個線程是:
- 2生產者產生「進入」(這是無符號的int)和排隊到隊列1
- 2半消費者從隊列1和排隊出隊進入隊列2
- 2消費者從隊列2 出列
條目總數爲500
我的問題是:我怎麼能做到這2半的消費者和消費者的活着,而所有500項通過隊列1牛逼路由o隊列2並出隊?對於生產者線程,這很容易,因爲我可以維護全局條目數。
所以如果total_entries = 500,從例程返回(產生線程死亡)。我想用一種有效的方式而不是一些破解。
環境:Linux,pthread,C/C++。