abstract class MpmcAtomicArrayQueueConsumerIndexField<E> extends MpmcAtomicArrayQueueL2Pad<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
Modifier and Type | Field and Description |
---|---|
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<MpmcAtomicArrayQueueConsumerIndexField> |
C_INDEX_UPDATER |
private long |
consumerIndex |
p01, p02, p03, p04, p05, p06, p07, p10, p11, p12, p13, p14, p15, p16, p17
p00
sequenceBuffer
buffer, mask
UNBOUNDED_CAPACITY
Constructor and Description |
---|
MpmcAtomicArrayQueueConsumerIndexField(int capacity) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
casConsumerIndex(long expect,
long newValue) |
long |
lvConsumerIndex() |
casProducerIndex, 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
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<MpmcAtomicArrayQueueConsumerIndexField> C_INDEX_UPDATER
private volatile long consumerIndex