Uses of Interface
org.jctools.queues.MessagePassingQueue
Packages that use MessagePassingQueue
Package
Description
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
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.-
Uses of MessagePassingQueue in org.jctools.queues
Classes in org.jctools.queues that implement MessagePassingQueueModifier and TypeClassDescription(package private) class
A base data structure for concurrent linked queues.(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.(package private) class
(package private) class
Common functionality for array backed queues.(package private) class
final class
FFBuffer<E>
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
class
A Multi-Producer-Multi-Consumer queue based on aConcurrentCircularArrayQueue
.(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
class
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
A Multi-Producer-Single-Consumer queue based on aConcurrentCircularArrayQueue
.(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
class
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
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.(package private) class
class
(package private) class
(package private) class
(package private) class
Use a set number of parallel MPSC queues to diffuse the contention on tail.(package private) class
class
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
This is a Java port of the MPSC algorithm as presented on 1024 Cores by D.class
This class is still work in progress, please do not pick up for production use just yet.class
A Multi-Producer-Single-Consumer queue based on same algorithm used forMpmcArrayQueue
but with the appropriate weakening of constraints on offer.(package private) class
(package private) class
(package private) class
(package private) class
class
An MPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.class
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.(package private) class
MpUnboundedXaddArrayQueue<R extends MpUnboundedXaddChunk<R,
E>, E> Common infrastructure for the XADD queues.class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
class
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
(package private) class
class
An SPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.class
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
This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.class
An SPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.Methods in org.jctools.queues with parameters of type MessagePassingQueueModifier and TypeMethodDescriptionstatic <E> int
MessagePassingQueueUtil.drain
(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c) static <E> int
MessagePassingQueueUtil.drain
(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c, int limit) static <E> void
MessagePassingQueueUtil.drain
(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) static <E> void
MessagePassingQueueUtil.fill
(MessagePassingQueue<E> q, MessagePassingQueue.Supplier<E> s, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) static <E> int
MessagePassingQueueUtil.fillBounded
(MessagePassingQueue<E> q, MessagePassingQueue.Supplier<E> s) static <E> int
MessagePassingQueueUtil.fillInBatchesToLimit
(MessagePassingQueue<E> q, MessagePassingQueue.Supplier<E> s, int batch, int limit) static <E> int
MessagePassingQueueUtil.fillUnbounded
(MessagePassingQueue<E> q, MessagePassingQueue.Supplier<E> s) -
Uses of MessagePassingQueue in org.jctools.queues.atomic
Classes in org.jctools.queues.atomic that implement MessagePassingQueueModifier and TypeClassDescription(package private) class
(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.final class
class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.(package private) class
class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.(package private) class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.class
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.