Uses of Interface
org.jctools.queues.MessagePassingQueue
-
Packages that use MessagePassingQueue 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 MessagePassingQueue in org.jctools.queues
Classes in org.jctools.queues that implement MessagePassingQueue 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
MpscCompoundQueue<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
MpscLinkedQueue<E>
This is a Java port of the MPSC algorithm as presented on 1024 Cores by D.class
MpscRelaxedArrayQueue<E>
This class is still work in progress, please do not pick up for production use just yet.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
SpscLinkedQueue<E>
This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.class
SpscUnboundedArrayQueue<E>
An SPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size. -
Uses of MessagePassingQueue in org.jctools.queues.atomic
Classes in org.jctools.queues.atomic that implement MessagePassingQueue 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
MpscLinkedAtomicQueue<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
MpscRelaxedAtomicArrayQueue<E>
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
SpscLinkedAtomicQueue<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.
-