ArrayBlockingQueue take() method in Java


The take() method of the ArrayBlockingQueue class fetch and removes the head of this queue, waiting if necessary until an element becomes available.

The syntax is as follows

public E take() throws InterruptedException

To work with ArrayBlockingQueue class, you need to import the following package

import java.util.concurrent.ArrayBlockingQueue;

The following is an example to implement take() method of Java ArrayBlockingQueue class

Example

 Live Demo

import java.util.concurrent.ArrayBlockingQueue;
public class Demo {
   public static void main(String[] args) throws InterruptedException {
      ArrayBlockingQueue<Integer> q = new ArrayBlockingQueue<Integer>(10);
      q.add(200);
      q.add(310);
      q.add(400);
      q.add(450);
      q.add(500);
      q.add(550);
      q.add(700);
      System.out.println("ArrayBlockingQueue = " + q); System.out.println("The head of the queue = "+q.take());
      // adding more elements
      q.add(50);
      q.add(70);
      q.add(90);
      System.out.println("ArrayBlockingQueue = " + q);
      System.out.print("The head of the queue = "+q.take());
   }
}

Output

ArrayBlockingQueue = [200, 310, 400, 450, 500, 550, 700]
The head of the queue = 200
ArrayBlockingQueue = [310, 400, 450, 500, 550, 700, 50, 70, 90]
The head of the queue = 310

Updated on: 30-Jul-2019

151 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements