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. |
org.jctools.queues.atomic |
Modifier and Type | Class and Description |
---|---|
(package private) class |
BaseMpscLinkedArrayQueue<E>
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
(package private) class |
BaseSpscLinkedArrayQueue<E> |
(package private) class |
ConcurrentCircularArrayQueue<E>
Common functionality for array backed queues.
|
(package private) class |
ConcurrentSequencedCircularArrayQueue<E> |
class |
MpmcArrayQueue<E>
A Multi-Producer-Multi-Consumer queue based on a
ConcurrentCircularArrayQueue . |
(package private) class |
MpmcArrayQueueConsumerIndexField<E> |
(package private) class |
MpmcArrayQueueL1Pad<E> |
(package private) class |
MpmcArrayQueueL2Pad<E> |
(package private) class |
MpmcArrayQueueL3Pad<E> |
(package private) class |
MpmcArrayQueueProducerIndexField<E> |
class |
MpmcUnboundedXaddArrayQueue<E>
An MPMC array queue which grows unbounded in linked chunks.
Differently from MpmcArrayQueue it is designed to provide a better scaling when more
producers are concurrently offering.Users should be aware that MpmcUnboundedXaddArrayQueue.poll() could spin while awaiting a new element to be available:
to avoid this behaviour MpmcUnboundedXaddArrayQueue.relaxedPoll() should be used instead, accounting for the semantic differences
between the twos. |
class |
MpscArrayQueue<E>
A Multi-Producer-Single-Consumer queue based on a
ConcurrentCircularArrayQueue . |
(package private) class |
MpscArrayQueueConsumerIndexField<E> |
(package private) class |
MpscArrayQueueL1Pad<E> |
(package private) class |
MpscArrayQueueL2Pad<E> |
(package private) class |
MpscArrayQueueL3Pad<E> |
(package private) class |
MpscArrayQueueMidPad<E> |
(package private) class |
MpscArrayQueueProducerIndexField<E> |
(package private) class |
MpscArrayQueueProducerLimitField<E> |
class |
MpscBlockingConsumerArrayQueue<E>
This is a partial implementation of the
BlockingQueue on the consumer side only on top
of the mechanics described in BaseMpscLinkedArrayQueue , but with the reservation bit used for blocking rather
than resizing in this instance. |
class |
MpscChunkedArrayQueue<E>
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
(package private) class |
MpscChunkedArrayQueueColdProducerFields<E> |
class |
MpscGrowableArrayQueue<E>
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks,
doubling theirs size every time until the full blown backing array is used.
|
class |
MpscUnboundedArrayQueue<E>
An MPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.
|
class |
MpscUnboundedXaddArrayQueue<E>
An MPSC array queue which grows unbounded in linked chunks.
Differently from MpscUnboundedArrayQueue it is designed to provide a better scaling when more
producers are concurrently offering.Users should be aware that MpscUnboundedXaddArrayQueue.poll() could spin while awaiting a new element to be available:
to avoid this behaviour MpscUnboundedXaddArrayQueue.relaxedPoll() should be used instead, accounting for the semantic differences
between the twos. |
(package private) class |
MpUnboundedXaddArrayQueue<R extends MpUnboundedXaddChunk<R,E>,E>
Common infrastructure for the XADD queues.
|
class |
SpmcArrayQueue<E> |
(package private) class |
SpmcArrayQueueConsumerIndexField<E> |
(package private) class |
SpmcArrayQueueL1Pad<E> |
(package private) class |
SpmcArrayQueueL2Pad<E> |
(package private) class |
SpmcArrayQueueL3Pad<E> |
(package private) class |
SpmcArrayQueueMidPad<E> |
(package private) class |
SpmcArrayQueueProducerIndexCacheField<E> |
(package private) class |
SpmcArrayQueueProducerIndexField<E> |
class |
SpscArrayQueue<E>
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
|
(package private) class |
SpscArrayQueueColdField<E> |
(package private) class |
SpscArrayQueueConsumerIndexField<E> |
(package private) class |
SpscArrayQueueL1Pad<E> |
(package private) class |
SpscArrayQueueL2Pad<E> |
(package private) class |
SpscArrayQueueL3Pad<E> |
(package private) class |
SpscArrayQueueProducerIndexFields<E> |
class |
SpscChunkedArrayQueue<E>
An SPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
class |
SpscGrowableArrayQueue<E>
An SPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks,
doubling theirs size every time until the full blown backing array is used.
|
class |
SpscUnboundedArrayQueue<E>
An SPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.
|
Modifier and Type | Class and Description |
---|---|
(package private) class |
AtomicReferenceArrayQueue<E> |
(package private) class |
BaseMpscLinkedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
BaseSpscLinkedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
class |
MpmcAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpmcAtomicArrayQueueConsumerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpmcAtomicArrayQueueL1Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpmcAtomicArrayQueueL2Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpmcAtomicArrayQueueL3Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpmcAtomicArrayQueueProducerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
class |
MpscAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueConsumerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueL1Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueL2Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueL3Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueMidPad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueProducerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscAtomicArrayQueueProducerLimitField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
class |
MpscChunkedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
MpscChunkedAtomicArrayQueueColdProducerFields<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
class |
MpscGrowableAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
class |
MpscUnboundedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SequencedAtomicReferenceArrayQueue<E> |
class |
SpmcAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueConsumerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueL1Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueL2Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueL3Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueMidPad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueProducerIndexCacheField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpmcAtomicArrayQueueProducerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
class |
SpscAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueColdField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueConsumerIndexField<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueL1Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueL2Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueL3Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
(package private) class |
SpscAtomicArrayQueueProducerIndexFields<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
which can found in the jctools-build module.
|
class |
SpscChunkedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
class |
SpscGrowableAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|
class |
SpscUnboundedAtomicArrayQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator
which can found in the jctools-build module.
|