キューのブロッキングキューLinkedBlockingQueue

  

  データ記憶構造を除いArrayBlockingQueueは、サイズを指定することができない、他のと一致しています 

 

パッケージcom.dh.learn.queue; 

インポートjava.util.concurrent.BlockingQueue;
 インポートjava.util.concurrent.LinkedBlockingQueue; 

パブリック クラスLearnLinkedBlockingQueue {
     // 基礎となるリストが実装されている
     // ブロッキングモードとArrayBlockingQueueに一貫性が達成:
     //       ReentrantLockのスレッドセーフ
     //       )()(のawaitの条件条件のための単一のブロッキングキューを保証する
    公共の 静的な 無効メイン(文字列[]引数)をスロー例外:InterruptedException {
         // リストのサイズを指定することができ、デフォルトはInteger.MAX_VALUE 31回指定されていない(2側-1) 
        BlockingQueueの<文字列> = LinkedBlockingQueue 新しい新しい LinkedBlockingQueue <>(2); 
        linkedBlockingQueue.put( "AAAA" )。
        linkedBlockingQueue.put( "BBBB" ); 

        新しいスレッド(新しいRunnableを(){ 
            @Override 
            公共 ボイドラン(){
                 しようと{ 
                    System.out.printlnは( "取值、使队列不满" ); 
                    linkedBlockingQueue.take(); 
                } キャッチ(InterruptedExceptionある電子){ 
                    e.printStackTrace (); 
                } 
            } 
        }))(始めます。
        linkedBlockingQueue.put( "CCCC"); 

        System.out.println(linkedBlockingQueue.toString())。
    } 
}

 

おすすめ

転載: www.cnblogs.com/han6/p/11275187.html