在Java 6中实现多生产者/消费者模式的最佳方式

Pau*_*lor 5 java concurrency consumer producer

所以我有多个步骤阶段1 - >阶段2 - >阶段3 - >阶段4因此在某些情况下,生产者将是消费者,并且在每个阶段有多个生产者/消费者使用多个cpus.在相关的情况下,一些分组将错过步骤,即直接从阶段1到阶段4.

所以我将为每个阶段创建一个类,与前一个阶段共享一个BlockingQueue,但我也读过ExecutorService就像一个Producer/Consumer模式一样,所以我试着用最好的抽象.

然而,在我看来,使用Executor,生成器位在它们被提交给执行程序之前完成,顺序的方式不是我想要的.

有人可以澄清吗?

art*_*tol 1

听起来java.util.concurrent.CompletionService每个阶段都需要一个,而不是BlockingQueue.