当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。