Class SpscArrayConcurrentQueue<E>
java.lang.Object
org.jctools.queues.alt.ConcurrentCircularArray<E>
org.jctools.queues.alt.SpscArrayConcurrentQueue<E>
- All Implemented Interfaces:
ConcurrentQueue<E>
public final class SpscArrayConcurrentQueue<E>
extends ConcurrentCircularArray<E>
implements ConcurrentQueue<E>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.jctools.queues.alt.Consumer<E> protected static final intprotected final org.jctools.queues.alt.Producer<E> Fields inherited from class ConcurrentCircularArray
buffer, BUFFER_PAD, mask, SPARSE_SHIFT -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class ConcurrentCircularArray
calcOffset, calcOffset, lpElement, lpElement, lvElement, lvElement, soElement, soElement, spElement, spElement, svElement, svElement
-
Field Details
-
OFFER_BATCH_SIZE
protected static final int OFFER_BATCH_SIZE -
consumer
-
producer
-
-
Constructor Details
-
SpscArrayConcurrentQueue
public SpscArrayConcurrentQueue(int capacity)
-
-
Method Details
-
size
public int size()Description copied from interface:ConcurrentQueueThis method may be O(n) or O(1) and may not be accurate.- Specified by:
sizein interfaceConcurrentQueue<E>- Returns:
- the number of elements in the queue
-
capacity
public int capacity()- Specified by:
capacityin interfaceConcurrentQueue<E>- Returns:
- the maximum number of elements that can fit in this queue, or -1 if unbounded.
-
consumer
- Specified by:
consumerin interfaceConcurrentQueue<E>- Returns:
- a consumer instance to be used from a consuming thread.
-
producer
- Specified by:
producerin interfaceConcurrentQueue<E>- Returns:
- a producer instance to be used from a producing thread.
-