Package | Description |
---|---|
org.jctools.queues |
This package aims to fill a gap in current JDK implementations in offering lock free (wait free where possible)
queues for inter-thread message passing with finer grained guarantees and an emphasis on performance.
At the time of writing the only lock free queue available in the JDK is ConcurrentLinkedQueue
which is an unbounded multi-producer, multi-consumer queue which is further encumbered by the need to implement
the full range of Queue methods. |
Modifier and Type | Class and Description |
---|---|
class |
ConcurrentCircularArrayQueue<E>
A concurrent access enabling class used by circular array based queues this class exposes an offset computation
method along with differently memory fenced load/store methods into the underlying array.
|
class |
ConcurrentSequencedCircularArrayQueue<E> |
class |
FFBuffer<E> |
(package private) class |
FFBufferHeadField<E> |
(package private) class |
FFBufferL1Pad<E> |
(package private) class |
FFBufferL2Pad<E> |
(package private) class |
FFBufferL3Pad<E> |
(package private) class |
FFBufferTailField<E> |
class |
MpmcArrayQueue<E>
A Multi-Producer-Multi-Consumer queue based on a
ConcurrentCircularArrayQueue . |
(package private) class |
MpmcArrayQueueConsumerField<E> |
(package private) class |
MpmcArrayQueueL1Pad<E> |
(package private) class |
MpmcArrayQueueL2Pad<E> |
(package private) class |
MpmcArrayQueueProducerField<E> |
class |
MpscArrayQueue<E>
A Multi-Producer-Single-Consumer queue based on a
ConcurrentCircularArrayQueue . |
(package private) class |
MpscArrayQueueConsumerField<E> |
(package private) class |
MpscArrayQueueHeadLimitField<E> |
(package private) class |
MpscArrayQueueL1Pad<E> |
(package private) class |
MpscArrayQueueL2Pad<E> |
(package private) class |
MpscArrayQueueMidPad<E> |
(package private) class |
MpscArrayQueueTailField<E> |
class |
MpscSequencedArrayQueue<E>
A Multi-Producer-Single-Consumer queue based on same algorithm used for
MpmcArrayQueue but with the
appropriate weakening of constraints on offer. |
(package private) class |
MpscSequencedArrayQueueConsumerField<E> |
(package private) class |
MpscSequencedArrayQueueL1Pad<E> |
(package private) class |
MpscSequencedArrayQueueL2Pad<E> |
(package private) class |
MpscSequencedArrayQueueProducerField<E> |
class |
SpmcArrayQueue<E> |
(package private) class |
SpmcArrayQueueConsumerField<E> |
(package private) class |
SpmcArrayQueueL1Pad<E> |
(package private) class |
SpmcArrayQueueL2Pad<E> |
(package private) class |
SpmcArrayQueueL3Pad<E> |
(package private) class |
SpmcArrayQueueMidPad<E> |
(package private) class |
SpmcArrayQueueProducerField<E> |
(package private) class |
SpmcArrayQueueProducerIndexCacheField<E> |
class |
SpscArrayQueue<E>
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
|
(package private) class |
SpscArrayQueueColdField<E> |
(package private) class |
SpscArrayQueueConsumerField<E> |
(package private) class |
SpscArrayQueueL1Pad<E> |
(package private) class |
SpscArrayQueueL2Pad<E> |
(package private) class |
SpscArrayQueueProducerFields<E> |