所以我有多个步骤第1阶段 - >阶段2 - >阶段3 - >阶段4因此在某些情况下,生产者将是消费者,并且在每个阶段都有多个生产者/消费者使用多个cpus。如果相关,一些数据包将错过步骤,即直接从第1阶段到第4阶段。
所以我打算为每个阶段创建一个类,与前一个阶段共享一个BlockingQueue,但我也读过ExecutorService就像一个Producer / Consumer模式一样,所以我试着用最好的抽象
然而,在我看来,使用Executor,生产者位是在提交给执行程序之前完成的,这是按照我想要的顺序方式完成的。
有人可以澄清吗?
答案 0 :(得分:1)
查看Executors和线程池。这是官方教程:http://download.oracle.com/javase/tutorial/essential/concurrency/