12

そのため、プロデューサー/コンシューマー タイプのアプリケーションで固定サイズの BlockingQueue [ArrayBlockingQueue] を使用していますが、ユーザーがその場でキュー サイズを変更できるようにしたいと考えています。問題は、作成後に容量を変更できる BlockingQueue 実装がないことです。誰もこれに遭遇したことがありますか?何か案は?

4

2 に答える 2

2

最も明白な解決策 (状況によって適切な場合とそうでない場合があります) は、必要な更新された容量で新しいキューを単純にインスタンス化することです。次に、古いキューのすべてを新しいキューにプッシュします。

于 2011-07-06T16:51:57.480 に答える
1

LinkedBlockingQueueを拡張できます。その制限はソフト制限(つまり、単なる追加チェック)であり、これを変更できるものにすることができます(組み込みのものを無効にして独自のものを入れることによって)

于 2011-07-06T16:46:39.563 に答える