Uses of Interface
org.jctools.queues.QueueProgressIndicators
-
Packages that use QueueProgressIndicators 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 isConcurrentLinkedQueue
which is an unbounded multi-producer, multi-consumer queue which is further encumbered by the need to implement the full range ofQueue
methods.org.jctools.queues.atomic -
-
Uses of QueueProgressIndicators in org.jctools.queues
Classes in org.jctools.queues that implement QueueProgressIndicators Modifier and Type Class Description class
FFBuffer<E>
class
MpmcArrayQueue<E>
A Multi-Producer-Multi-Consumer queue based on aConcurrentCircularArrayQueue
.class
MpmcUnboundedXaddArrayQueue<E>
An MPMC array queue which grows unbounded in linked chunks.
Differently fromMpmcArrayQueue
it is designed to provide a better scaling when more producers are concurrently offering.
Users should be aware thatMpmcUnboundedXaddArrayQueue.poll()
could spin while awaiting a new element to be available: to avoid this behaviourMpmcUnboundedXaddArrayQueue.relaxedPoll()
should be used instead, accounting for the semantic differences between the twos.class
MpscArrayQueue<E>
A Multi-Producer-Single-Consumer queue based on aConcurrentCircularArrayQueue
.class
MpscBlockingConsumerArrayQueue<E>
This is a partial implementation of theBlockingQueue
on the consumer side only on top of the mechanics described inBaseMpscLinkedArrayQueue
, 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.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
MpscSequencedArrayQueue<E>
A Multi-Producer-Single-Consumer queue based on same algorithm used forMpmcArrayQueue
but with the appropriate weakening of constraints on offer.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 fromMpscUnboundedArrayQueue
it is designed to provide a better scaling when more producers are concurrently offering.
Users should be aware thatMpscUnboundedXaddArrayQueue.poll()
could spin while awaiting a new element to be available: to avoid this behaviourMpscUnboundedXaddArrayQueue.relaxedPoll()
should be used instead, accounting for the semantic differences between the twos.class
SpmcArrayQueue<E>
class
SpscArrayQueue<E>
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.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. -
Uses of QueueProgressIndicators in org.jctools.queues.atomic
Classes in org.jctools.queues.atomic that implement QueueProgressIndicators Modifier and Type Class Description class
MpmcAtomicArrayQueue<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.class
MpscChunkedAtomicArrayQueue<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.class
SpmcAtomicArrayQueue<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.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.
-