各ブロックキュー実装クラス
カテゴリ | 説明 |
---|---|
ArrayBlockingQueue | 構造体の配列は、キューをブロック有界 |
LinkedBlockingQueue | 有界ブロッキングキュー(デフォルト容量はInteger.MAX_VALUE)からなるリンクリスト構造 |
PriorityBlockingQueue | アンバウンド形式のブロッキングキューのサポートの優先順位付け |
DelayQueue | 遅延は、プライオリティキューアンバウンド形式のブロッキングキューを使用して実装しました |
SynchronousQueue | ブロッキングキュー要素、すなわち単一要素キューに格納されていません |
転送キューのリンク | アンバウンド形式のブロッキングキューからなるリスト構造 |
LinkedBlockingQueue | キューからなるリンクリスト構造によってブロックされた双方向 |
使用のブロッキングキュー
メソッドの種類 | 例外を投げます | 特別な値 | おもり | タイムアウト |
---|---|---|---|---|
挿入 | 追加(E) | プラン(E) | PUT(E) | プラン(E、時間、単位) |
削除 | 削除する() | 世論調査() | 取る() | 世論調査(時間、単位) |
検査 | 素子() | ピーク() | 無効 | 無効 |
例外を投げます | ブロックキューがいっぱいになると、その後、要素の挿入、さらに追加のキューは、IllegalStateExceptionがスローされます:キューフル ブロッキングキューが空の場合、キューの削除削除要素に下るははNoSuchElementExceptionをスローします |
特別な値 | 挿入する方法、成功の真偽の障害 除去方法、成功したリターン要素キューは、ノーリターンキューヌルはありません |
ブロックされています | ブロックキューがいっぱいになると、生産者は、キュー内の要素を入れていき、キューは、プット・データまで、またはアボートに応じてブロックします。 キューが空のブロッキングた場合、消費者はキューから要素を取るしようとすると、キューが利用可能な要素のうち、キュー消費者のスレッドまでブロックされたままになります。 |
タイムアウト終了 | ブロッキングキューがいっぱいになると、キューは、プロデューサスレッドは限界後に終了します以上、プロデューサスレッドを一定時間ブロックします。 |