當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java LinkedTransferQueue take()用法及代碼示例


java.util.concurrent.LinkedTransferQueue.take()方法是Java中的內置函數,它檢索並除去隊列的第一個元素。此方法還將等待(如有必要),直到某個元素可用為止。
用法:

LinkedTransferQueue.take()  

參數:該函數不接受任何參數。

返回值:該函數返回隊列的第一個元素。


異常:如果在等待期間被中斷,該函數將引發InterruptedException。

以下程序說明了java.util.concurrent.LinkedTransferQueue.take():

示例1:

// Java Program Demonstrate take() 
// method of LinkedTransferQueue  
  
import java.util.concurrent.LinkedTransferQueue; 
  
class LinkedTransferQueueTakeExample1 { 
    public static void main(String[] args) throws Exception 
    { 
        // Initializing the queue 
        LinkedTransferQueue<String> queue =  
                        new LinkedTransferQueue<String>(); 
  
        // Adding elements to this queue 
        queue.add("Alex"); 
        queue.add("Bob"); 
        queue.add("Chuck"); 
        queue.add("Drake"); 
        queue.add("Eric"); 
  
        // Printing the elements 
        System.out.println("Elements are :"); 
        for (String xyz : queue) { 
            // will take and remove the head of the queue 
            System.out.println(queue.take()); 
        } 
  
        // Printing the size of the Queue 
        System.out.println("Queue Size: " + queue.size()); 
    } 
}
輸出:
Elements are :
Alex
Bob
Chuck
Drake
Eric
Queue Size: 0

示例2:

// Java Program Demonstrate take() 
// method of LinkedTransferQueue  
  
import java.util.concurrent.LinkedTransferQueue; 
  
class LinkedTransferQueueTakeExample2 { 
    public static void main(String[] args) throws Exception 
    { 
        // Initializing the queue 
        LinkedTransferQueue<Integer> queue =  
                        new LinkedTransferQueue<Integer>(); 
  
        // Adding elements to this queue 
        for (int i = 1; i <= 5; i++) 
            queue.add(i); 
  
        // Printing the elements 
        System.out.println("Elements are :"); 
        for (Integer xyz : queue) { 
            // will take and remove the head of the queue 
            System.out.println(queue.take()); 
        } 
        // Printing the size of the Queue 
        System.out.println("Queue Size: " + queue.size()); 
    } 
}
輸出:
Elements are :
1
2
3
4
5
Queue Size: 0

參考: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedTransferQueue.html#take()



相關用法


注:本文由純淨天空篩選整理自rupesh_rao大神的英文原創作品 LinkedTransferQueue take() method in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。