ArrayBlockingQueueE


ArrayBlockingQueue<E> java.util.concurrent

Java 5.0 serializable collection

This BlockingQueue implementation uses an array to store queue elements. The internal array has a fixed size that is specified when the queue is created, which means that this is a bounded queue and the put( ) method blocks when the queue has no more room. ArrayBlockingQueue orders its elements on a first-in, first-out (FIFO) basis. As with all BlockingQueue implementations , null elements are prohibited .

If you pass TRue as the second argument to the ArrayBlockingQueue constructor, the queue enforces a fairness policy for blocked threads: threads blocked in put( ) or take( ) are themselves queued in FIFO order, and the thread that has been waiting the longest is served first. This prevents thread starvation but may decrease overall throughput for the ArrayBlockingQueue .

Figure 16-71. java.util.concurrent.ArrayBlockingQueue<E>

 public class  ArrayBlockingQueue<E>  extends java.util.AbstractQueue<E>          implements BlockingQueue<E>, Serializable {  // Public Constructors  public  ArrayBlockingQueue  (int  capacity  );        public  ArrayBlockingQueue  (int  capacity  , boolean  fair  );        public  ArrayBlockingQueue  (int  capacity  , boolean  fair  , 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 boolean  contains  (Object  o  );        public java.util.Iterator<E>  iterator  ( );        public boolean  remove  (Object  o  );        public int  size  ( );        public Object[ ]  toArray  ( );        public <T> T[ ]  toArray  (T[ ]  a  );  // Methods Implementing Queue  public E  peek  ( );        public E  poll  ( );  // Public Methods Overriding AbstractCollection  public String  toString  ( );   } 



Java In A Nutshell
Java In A Nutshell, 5th Edition
ISBN: 0596007736
EAN: 2147483647
Year: 2004
Pages: 1220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net