5

したがって、ステージ1->ステージ2->ステージ3->ステージ4の複数のステップがあるため、場合によってはプロデューサーがコンシューマーになり、各ステージに複数のCPUを使用する複数のプロデューサー/コンシューマーがあります。関連する場合、一部のパケットはステップを見逃します。つまり、ステージ1からステージ4に直接進みます。

したがって、前のステージとBlockingQueueを共有して、ステージごとにクラスを作成する予定でしたが、ExecutorServiceがプロデューサー/コンシューマーパターンのようにすべて1つで機能することも読んだので、最高の抽象化を使用しようとしています。

ただし、エグゼキュータを使用すると、プロデューサビットは、エグゼキュータに送信される前に、私が望むものではないシーケンシャルな方法で実行されるように見えます。

誰か明確にしていただけませんか?

4

2 に答える 2

1

java.util.concurrent.CompletionServiceの代わりに、各ステージにが必要なようですBlockingQueue

于 2011-11-08T18:13:18.257 に答える
1

エグゼキュータとスレッドプールを見てください。公式チュートリアルは次のとおりです。http://download.oracle.com/javase/tutorial/essential/concurrency/

于 2011-11-08T17:28:20.150 に答える