モジュール java.base
パッケージ java.util.concurrent

クラスArrayBlockingQueue<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
java.util.concurrent.ArrayBlockingQueue<E>
型パラメータ:
E - このキューに保持されている要素の型
すべての実装されたインタフェース:
Serializable, Iterable<E>, Collection<E>, BlockingQueue<E>, Queue<E>

public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, Serializable
配列に連動する、制限付きのブロッキング・キューです。 このキューはFIFO (先入れ先出し)で要素を順序付けします。 このキューの先頭は、キューに入っていた時間がもっとも長い要素です。 このキューの末尾は、キューに入っていた時間がもっとも短い要素です。 新しい要素はキューの末尾に挿入され、キュー取得オペレーションにより、キューの先頭の要素が取得されます。

これは旧来のバウンド・バッファであり、その内部では固定サイズの配列が要素を保持し、これらの要素はプロデューサにより挿入され、コンシューマにより抽出されます。 作成後に、容量を変更することはできません。 キューが埋まっているときに要素をputしようとすると、putオペレーションがブロックされます。空のキューから要素をputしようとした場合も、同様にブロックされます。

このクラスでは、待機中のプロデューサおよびコンシューマ・スレッドの順序付けのためのオプションの公平性ポリシーをサポートします。 デフォルトでは、この順序付けは保証されていません。 ただし、公平性をtrueに設定して構築されたキューでは、スレッドがFIFOの順序でアクセスすることが許可されます。 通常は、公平性によりスループットが低下しますが、変動性も低下するため、枯渇状態になることはありません。

このクラスとそのイテレータは、CollectionおよびIteratorインタフェースのオプション・メソッドすべてを実装します。

このクラスは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.5
関連項目: