2

エントリの結合を可能にする java.util.concurrent.BlockingQueue の効率的な (すべてを同期することなく) 実装はありますか?

結合とは、着信アイテムをキュー上の既存の「等しい」エントリ (存在する場合) とマージすることを意味します。それ以外の場合、アイテムは通常どおり最後に追加されます。

4

3 に答える 3

2

この答えをチェックしてください:並行セットキュー。マージによって意味するのが、すでにキューにあるものと等しい要素を無視することだけである場合、それはあなたの質問の重複である可能性があります。

于 2012-07-16T09:40:39.703 に答える
1

BlockingQueue方法をスポーツしcontainsます。自由に使用できますが、同期することを忘れないでください。containsはO(n)fxでLinkedBlockingDequeあるため、を使用してより効率的なアプローチを試すことができますHashSet

于 2012-07-16T09:42:44.530 に答える
0

タイムスタンプとソースがその 2 つの属性である場合、イベントの結合を確認できません。同じユーザーが互いに 1 ナノ秒以内に 2 つのイベントを送信しない限り、2 つのイベントが等しいとは見なされず、組み合わせるべきではないと思います。

于 2012-07-16T09:36:46.377 に答える