This threadsafe class implements the BlockingQueue interface based on a linked-list data structure. It orders elements on a first-in, first-out (FIFO) basis. You may specify a maximum queue capacity, creating a bounded queue. The default capacity is Integer.MAX_VALUE, which is effectively unbounded. null elements are not permitted.


Figure 16-86. java.util.concurrent.LinkedBlockingQueue<E>

public class LinkedBlockingQueue<E> extends java.util.AbstractQueue<E> 
implements BlockingQueue<E>, Serializable {
// Public Constructors
     public LinkedBlockingQueue( );  
     public LinkedBlockingQueue(int capacity);  
     public LinkedBlockingQueue(java.util.Collection<? extends E> c);  
// Methods Implementing BlockingQueue
     public int drainTo(java.util.Collection<? super E> c);  
     public int drainTo(java.util.Collection<? super E> c, int maxElements);  
     public boolean offer(E o);  
     public boolean offer(E o, long timeout, TimeUnit unit) throws InterruptedException;  
     public E poll(long timeout, TimeUnit unit) throws InterruptedException;  
     public void put(E o) throws InterruptedException;  
     public int remainingCapacity( );  
     public E take( ) throws InterruptedException;  
// Methods Implementing Collection
     public void clear( );  
     public java.util.Iterator<E> iterator( );  
     public boolean remove(Object o);  
     public int size( );  
     public Object[ ] toArray( );  
     public <T> T[ ] toArray(T[ ] a);  
// Methods ...

Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.