Class MpscBlockingConsumerVarHandleArrayQueueConsumerFields<E>

All Implemented Interfaces:
Iterable<E>, Collection<E>, Queue<E>, IndexedQueueSizeUtil.IndexedQueue
Direct Known Subclasses:
MpscBlockingConsumerVarHandleArrayQueue

abstract class MpscBlockingConsumerVarHandleArrayQueueConsumerFields<E> extends MpscBlockingConsumerVarHandleArrayQueuePad3<E>
NOTE: This class was automatically generated by org.jctools.queues.varhandle.JavaParsingVarHandleArrayQueueGenerator which can found in the jctools-build module. The original source file is MpscBlockingConsumerArrayQueue.java.
  • Field Details

    • VH_BLOCKED

      private static final VarHandle VH_BLOCKED
    • VH_CONSUMER_INDEX

      private static final VarHandle VH_CONSUMER_INDEX
    • consumerIndex

      private long consumerIndex
    • consumerMask

      protected final long consumerMask
    • blocked

      private volatile Thread blocked
    • consumerBuffer

      protected final E[] consumerBuffer
  • Constructor Details

    • MpscBlockingConsumerVarHandleArrayQueueConsumerFields

      MpscBlockingConsumerVarHandleArrayQueueConsumerFields(long mask, E[] buffer)
  • Method Details

    • lvConsumerIndex

      public final long lvConsumerIndex()
    • lpConsumerIndex

      final long lpConsumerIndex()
    • soConsumerIndex

      final void soConsumerIndex(long newValue)
    • lvBlocked

      final Thread lvBlocked()
    • soBlocked

      final void soBlocked(Thread thread)
      This field should only be written to from the consumer thread. It is set before parking the consumer and nulled when the consumer is unblocked. The value is read by producer thread to unpark the consumer.
      Parameters:
      thread - the consumer thread which is blocked waiting for the producers