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 |
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 |
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.
|
(package private) class |
MpUnboundedXaddArrayQueueConsumerFields<R extends MpUnboundedXaddChunk<R,E>,E> |
(package private) class |
MpUnboundedXaddArrayQueuePad2<E> |
(package private) class |
MpUnboundedXaddArrayQueuePad3<R extends MpUnboundedXaddChunk<R,E>,E> |
(package private) class |
MpUnboundedXaddArrayQueuePad5<R extends MpUnboundedXaddChunk<R,E>,E> |
(package private) class |
MpUnboundedXaddArrayQueueProducerChunk<R extends MpUnboundedXaddChunk<R,E>,E> |
(package private) class |
MpUnboundedXaddArrayQueueProducerFields<E> |