The java.util.concurrent.LinkedTransferQueue.take() method is an in-built function in Java which retrieves and remove the first element of the queue. This method also waits (if necessary) until an element becomes available.
Syntax:
LinkedTransferQueue.take()
Parameters: The function does not accept any parameter.
Return Value: The function returns the first element of the queue.
Exceptions: The function throws InterruptedException if interrupted while waiting.
Below programs illustrate the java.util.concurrent.LinkedTransferQueue.take() :
Program 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
Program 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
Reference : https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedTransferQueue.html#take()