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

インタフェースTransferQueue<E>

型パラメータ:
E - このキューに保持されている要素の型
すべてのスーパー・インタフェース:
BlockingQueue<E>, Collection<E>, Iterable<E>, Queue<E>
既知のすべての実装クラス:
LinkedTransferQueue

public interface TransferQueue<E> extends BlockingQueue<E>
コンシューマが要素を受け取るまでプロデューサが待機するBlockingQueue TransferQueueは、たとえば、プロデューサが(transfer(E)メソッドを使用して) takeまたはpollを呼び出しているコンシューマによる要素の受信を待機する場合と、受信を待機せずに(putメソッド経由で)要素をキューに入れる場合がある、メッセージ受渡しアプリケーションで役立つことがあります。 tryTransfer非ブロック・バージョンやタイムアウト・バージョンも使用できます。 また、項目を待機しているスレッドが存在するかどうかを(hasWaitingConsumer()経由で) TransferQueueに照会することもできます。これは、peek操作と逆になります。

ほかのブロッキング・キューと同様に、TransferQueueは、容量が制限される場合があります。 その場合、試行される転送操作では、最初に使用可能な容量の待機をブロックし、そのあとでコンシューマによる受信の待機をブロックすることができます。 SynchronousQueueなどの、容量が0のキューでは、puttransferは事実上同義であることに注意してください。

このインタフェースは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.7