Package org.jctools.queues.alt
Class MpscArrayConcurrentQueue<E>
java.lang.Object
org.jctools.queues.alt.ConcurrentCircularArray<E>
org.jctools.queues.alt.ConcurrentSequencedCircularArray<E>
org.jctools.queues.alt.MpscArrayConcurrentQueue<E>
- All Implemented Interfaces:
ConcurrentQueue<E>
public final class MpscArrayConcurrentQueue<E>
extends ConcurrentSequencedCircularArray<E>
implements ConcurrentQueue<E>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.jctools.queues.alt.MpscArrayConcurrentQueueColdFields.Consumer<E> protected final org.jctools.queues.alt.MpscArrayConcurrentQueueColdFields.Producer<E> Fields inherited from class org.jctools.queues.alt.ConcurrentSequencedCircularArray
sequenceBufferFields inherited from class org.jctools.queues.alt.ConcurrentCircularArray
buffer, BUFFER_PAD, mask, SPARSE_SHIFT -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.jctools.queues.alt.ConcurrentSequencedCircularArray
calcSequenceOffset, calcSequenceOffset, lpSequence, lpSequenceElement, lvSequence, lvSequence, soSequence, soSequenceElement, spSequenceElement, spSequenceElement, svSequenceElement, svSequenceElementMethods inherited from class org.jctools.queues.alt.ConcurrentCircularArray
calcOffset, calcOffset, lpElement, lpElement, lvElement, lvElement, soElement, soElement, spElement, spElement, svElement, svElement
-
Field Details
-
consumer
-
producer
-
-
Constructor Details
-
MpscArrayConcurrentQueue
public MpscArrayConcurrentQueue(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.
-