0
我有一種關係,必須如下工作;線程A向線程B發佈一些更改,線程B將這個更改發佈到線程C.Java中的複合生產者 - 消費者
問題是生產者 - 消費者,我沒有問題使用BlockingQueue僅用兩個實體來實現它。如何讓線程B成爲混合生產者和消費者來完成這項工作?如在中,是否存在一些指定的模型來解決這個流派中的問題?
我有一種關係,必須如下工作;線程A向線程B發佈一些更改,線程B將這個更改發佈到線程C.Java中的複合生產者 - 消費者
問題是生產者 - 消費者,我沒有問題使用BlockingQueue僅用兩個實體來實現它。如何讓線程B成爲混合生產者和消費者來完成這項工作?如在中,是否存在一些指定的模型來解決這個流派中的問題?
使用兩個阻塞隊列:A和B之間的一個; B和C之間的另一個。
+1是的,就這麼簡單。 – 2013-02-24 17:17:14
那麼,我應該將兩個BlockingQueues傳入B的構造函數中? – aquemini 2013-02-24 17:26:06
@CoconutJones - 你如何設置它取決於你的周圍代碼的結構。它可能由外部代碼設置並傳遞給B(和C)的構造函數,或由B在其構造函數或C中設置。唯一的要求是第二個隊列的設置方式使B和C都可以訪問它。沒有看到你的代碼,很難提出任何建議。 – 2013-02-24 18:15:34