ホームページ  >  記事  >  Java  >  ArrayBlockingQueue と LinkedBlockingQueue の違いは何ですか?

ArrayBlockingQueue と LinkedBlockingQueue の違いは何ですか?

王林
王林転載
2023-08-26 11:53:08795ブラウズ

ArrayBlockingQueue と LinkedBlockingQueue の違いは何ですか?

ブロッキング キュー インターフェイスは、Java.util.concurrent パッケージの一部です。ブロッキング キューはプロデューサー/コンシューマー キュー用に設計されており、コレクションもサポートしています。インターフェイスは、キュー上のあらゆる種類の操作をサポートするメソッドの 4 つの部分に分かれています。空のキーは受け入れられません。 ArrayBlockingQueue と LinkedBlockingQueue はどちらもブロッキング キュー インターフェイスを実装しています。

ArrayBlockingQueue と LinkedBlockingQueue はどちらも要素を FIFO 順に格納します。どちらのキューでも、要素の挿入は常にキューの末尾で発生し、要素の削除は常にキューの先頭で発生します。

シリアル番号キーArrayBlockingQueueLinkedBlockingQueue##12##キューに要素を挿入するための putLock と、キューから要素を削除するための takeLock があります

Basic

配列によってサポートされています

Itリンク リストによってサポートされています。 Support

Bounded

有界配列キューです。したがって、作成後に容量を変更することはできません

#これは無制限のキューです

#3

スループット

そのスループットはチェーン キューよりも低いです

チェーン キューはアレイベースのキューよりも高いスループットを持っています

4.

Lock

単一ロックを使用します。アルゴリズム

以上がArrayBlockingQueue と LinkedBlockingQueue の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。