Java中的LinkedTransferQueue take()方法

Java中的LinkedTransferQueue take()方法

java.util.concurrent.LinkedTransferQueue.take() 方法是Java中的一个内置函数,用于检索并删除队列的第一个元素。此方法还会等待(如有必要)直到一个元素可用。
语法:

LinkedTransferQueue.take()

参数: 该函数不接受任何参数。

Return Value: 该函数返回队列的第一个元素。

异常s: 如果等待时被中断,则该函数会引发InterruptedException异常。

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

Program 1:

// Java程序演示LinkedTransferQueue类的take()
//方法
  
import java.util.concurrent.LinkedTransferQueue;
  
class LinkedTransferQueueTakeExample1 {
    public static void main(String[] args) throws Exception
    {
        // 初始化队列
        LinkedTransferQueue<String> queue = 
                        new LinkedTransferQueue<String>();
  
        // 向此队列添加元素
        queue.add("Alex");
        queue.add("Bob");
        queue.add("Chuck");
        queue.add("Drake");
        queue.add("Eric");
  
        // 打印元素
        System.out.println("Elements are :");
        for (String xyz : queue) {
            //将取出并删除队列的头部
            System.out.println(queue.take());
        }
  
        // 打印队列的大小
        System.out.println("Queue Size: " + queue.size());
    }
}
Elements are :
Alex
Bob
Chuck
Drake
Eric
Queue Size: 0

Program 2:

// Java程序演示LinkedTransferQueue类的take()
//方法
  
import java.util.concurrent.LinkedTransferQueue;
  
class LinkedTransferQueueTakeExample2 {
    public static void main(String[] args) throws Exception
    {
        // 初始化队列
        LinkedTransferQueue<Integer> queue = 
                        new LinkedTransferQueue<Integer>();
  
        // 向此队列添加元素
        for (int i = 1; i <= 5; i++)
            queue.add(i);
  
        // 打印元素
        System.out.println("Elements are :");
        for (Integer xyz : queue) {
            //将取出并删除队列的头部
            System.out.println(queue.take());
        }
        // 打印队列的大小
        System.out.println("Queue Size: " + queue.size());
    }
}
Elements are :
1
2
3
4
5
Queue Size: 0

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程