Class MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields<E>

    • Field Detail

      • VH_BLOCKED

        private static final java.lang.invoke.VarHandle VH_BLOCKED
      • VH_CONSUMER_INDEX

        private static final java.lang.invoke.VarHandle VH_CONSUMER_INDEX
      • consumerIndex

        private long consumerIndex
      • consumerMask

        protected final long consumerMask
      • blocked

        private volatile java.lang.Thread blocked
      • consumerBuffer

        protected final E[] consumerBuffer
    • Constructor Detail

      • MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields

        MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields​(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