所以我有多个步骤 stage 1 -> stage 2 -> stage 3 -> stage4 所以在某些情况下生产者将是消费者,并且在每个阶段都有多个生产者/消费者来使用多个 cpu。万一某些数据包会错过步骤,即直接从阶段 1 进入阶段 4。
所以我打算为每个阶段设置一个类,与前一个阶段共享一个 BlockingQueue,但我也读到 ExecutorService 像生产者/消费者模式一样工作,所以我尝试使用最好的抽象。
然而,在我看来,使用 Executor,生产者位在提交给 executor 之前以顺序方式完成,这不是我想要的。
有人可以澄清一下吗?