Java中的 LinkedTransferQueue take() 方法
Java .util.concurrent.LinkedTransferQueue.take()方法是Java中的一个内置函数,用于检索和删除队列的第一个元素。此方法还会等待(如有必要)直到元素可用。
句法:
LinkedTransferQueue.take()
参数:该函数不接受任何参数。
返回值:函数返回队列的第一个元素。
异常:如果在等待时被中断,该函数将抛出InterruptedException 。
下面的程序说明了Java.util.concurrent.LinkedTransferQueue.take() :
方案一:
// 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 queue =
new LinkedTransferQueue();
// 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
方案二:
// 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 queue =
new LinkedTransferQueue();
// 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: Java/util/concurrent/LinkedTransferQueue.html#take()