Class ConcurrentArrayQueue<T>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<T>
org.eclipse.jetty.util.ConcurrentArrayQueue<T>
Type Parameters:
T - the Array entry type
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.Queue<T>

public class ConcurrentArrayQueue<T>
extends java.util.AbstractQueue<T>
A concurrent, unbounded implementation of Queue that uses singly-linked array blocks to store elements.

This class is a drop-in replacement for ConcurrentLinkedQueue, with similar performance but producing less garbage because arrays are used to store elements rather than nodes.

The algorithm used is a variation of the algorithm from Gidenstam, Sundell and Tsigas (http://www.adm.hb.se/~AGD/Presentations/CacheAwareQueue_OPODIS.pdf).