0

私は自分が抱えているキューイングの問題の解決策を見つけようとしています。典型的なシナリオでは、プロデューサーは何かをキューに入れ、コンシューマーはそれを取り除きます。消費するプロデューサーと、最初にキューから何かを取り出してから(結果のように)キューに戻すコンシューマーがある場合はどうでしょうか。そのため、従うと双方向の流れがあります。これを効果的に行うために2つのスレッドを同期することは可能ですか?単純に、一方のスレッドのrunメソッドにループを入れて、もう一方のスレッドが1回だけ実行されてから終了することを発見しました。これがあいまいに見える場合は、お詫びします。誰かが私を正しい方向に向けることができれば幸いです。

乾杯

4

1 に答える 1

2

を使用するだけであればConcurrentLinkedQueue、どのスレッドからでも入れたり取ったりできます。プロデューサ スレッドとコンシューマ スレッドの間に厳密な区別はなく、キュー オブジェクトは各操作の一貫性を保証します。

于 2012-10-30T09:36:17.503 に答える