Class MpscBlockingConsumerArrayQueueConsumerFields<E>

    • Field Detail

      • C_INDEX_OFFSET

        private static final long C_INDEX_OFFSET
      • BLOCKED_OFFSET

        private static final long BLOCKED_OFFSET
      • consumerIndex

        private volatile long consumerIndex
      • consumerMask

        protected final long consumerMask
      • blocked

        private volatile java.lang.Thread blocked
      • consumerBuffer

        protected final E[] consumerBuffer
    • Constructor Detail

      • MpscBlockingConsumerArrayQueueConsumerFields

        MpscBlockingConsumerArrayQueueConsumerFields​(long mask,
                                                     E[] buffer)
    • Method Detail

      • lvConsumerIndex

        public final long lvConsumerIndex()
      • lpConsumerIndex

        final long lpConsumerIndex()
      • soConsumerIndex

        final void soConsumerIndex​(long newValue)
      • lvBlocked

        final java.lang.Thread lvBlocked()
      • soBlocked

        final void soBlocked​(java.lang.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