abstract class MpmcAtomicArrayQueueProducerIndexField<E> extends MpmcAtomicArrayQueueL1Pad<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
Modifier and Type | Field and Description |
---|---|
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<MpmcAtomicArrayQueueProducerIndexField> |
P_INDEX_UPDATER |
private long |
producerIndex |
p00, p01, p02, p03, p04, p05, p06, p07, p10, p11, p12, p13, p14, p15, p16
sequenceBuffer
buffer, mask
UNBOUNDED_CAPACITY
Constructor and Description |
---|
MpmcAtomicArrayQueueProducerIndexField(int capacity) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
casProducerIndex(long expect,
long newValue) |
long |
lvProducerIndex() |
calcSequenceOffset, calcSequenceOffset, lvSequence, soSequence
calcElementOffset, calcElementOffset, capacity, clear, currentConsumerIndex, currentProducerIndex, isEmpty, iterator, lpElement, lpElement, lvElement, lvElement, size, soElement, soElement, spElement, spElement, svElement, toString
contains, containsAll, remove, removeAll, retainAll, toArray, toArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
lvConsumerIndex
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<MpmcAtomicArrayQueueProducerIndexField> P_INDEX_UPDATER
private volatile long producerIndex