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()
极客教程