Java でプロデューサー/コンシューマー パターンを作成しようとしています。私は、一連の異なる接続を介して多くのサーバーに接続されているネットワーク クライアントです。サーバーはさまざまな「作業」パケットを生成し、それらはすべて 1 つのブロッキング キューに入れられます。私がやろうとしているのは、特定の種類の作業パケットのみが特定の消費者に配信されるように、消費者をブロックすることです。
例:
- ブロッキング キューは、A、B、C の 3 種類のワーク パケット オブジェクトで満たされます。
- 2 つのコンシューマーがワーク パケット オブジェクトを待機しています。コンシューマ 1 はタイプ A のみを必要とし、コンシューマ 2 はタイプ B または C のみを必要とします
java.util に標準クラスはありますか? それとも独自のクラスを作成する必要がありますか? また、必要に応じて自分でロールする最良の方法は何ですか?
前もって感謝します!
アンドリュー・クロファス