public class ArrayBlockingQueue<T> extends java.lang.Object implements IBlockingQueue<T>
IBlockingQueue.ClosedException| Modifier and Type | Field and Description | 
|---|---|
protected boolean | 
closed
The queue state. 
 | 
protected java.lang.Object[] | 
elements
The elements in the queue. 
 | 
protected int | 
end
Insert position for the next element. 
 | 
protected java.lang.Object | 
monitor
The monitor. 
 | 
protected int | 
size
The size (cached for speed). 
 | 
protected int | 
start
Pointer to the first element. 
 | 
| Constructor and Description | 
|---|
ArrayBlockingQueue()
Create a new blocking queue. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
T | 
dequeue()
Remove an object from the queue
  (blocks until an element is available). 
 | 
T | 
dequeue(long timeout)
Dequeue an element. 
 | 
void | 
enqueue(java.lang.Object o)
Add an element to the end of the queue. 
 | 
boolean | 
isClosed()
Check if the queue is closed. 
 | 
T | 
peek()
Peek the topmost element without dequeuing it. 
 | 
java.util.List<T> | 
setClosed(boolean closed)
Open/close the queue. 
 | 
int | 
size()
Get the number of elements in the queue. 
 | 
java.lang.String | 
toString()
Create a string representation. 
 | 
protected java.lang.Object[] elements
protected int start
protected int end
protected int size
protected java.lang.Object monitor
protected boolean closed
public int size()
size in interface IBlockingQueue<T>public void enqueue(java.lang.Object o)
enqueue in interface IBlockingQueue<T>o - The element.public T dequeue(long timeout) throws IBlockingQueue.ClosedException, TimeoutException
dequeue in interface IBlockingQueue<T>timeout - the time to wait (in millis) or -1 for no timeout.IBlockingQueue.ClosedExceptionTimeoutExceptionpublic T peek() throws IBlockingQueue.ClosedException
peek in interface IBlockingQueue<T>IBlockingQueue.ClosedExceptionpublic T dequeue()
dequeue in interface IBlockingQueue<T>public java.util.List<T> setClosed(boolean closed)
setClosed in interface IBlockingQueue<T>closed - The closed state.public boolean isClosed()
isClosed in interface IBlockingQueue<T>public java.lang.String toString()
toString in class java.lang.Object