📌  相关文章
📜  Java中的 LinkedTransferQueue take() 方法

📅  最后修改于: 2022-05-13 01:55:39.887000             🧑  作者: Mango

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()