Uses of Class
org.jctools.queues.MpUnboundedXaddArrayQueueProducerChunk
Packages that use MpUnboundedXaddArrayQueueProducerChunk
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 MpUnboundedXaddArrayQueueProducerChunk in org.jctools.queues
Subclasses of MpUnboundedXaddArrayQueueProducerChunk in org.jctools.queuesModifier and TypeClassDescriptionclassAn MPMC array queue which grows unbounded in linked chunks.
Differently fromMpmcArrayQueueit 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.classAn MPSC array queue which grows unbounded in linked chunks.
Differently fromMpscUnboundedArrayQueueit 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) classMpUnboundedXaddArrayQueue<R extends MpUnboundedXaddChunk<R,E>, E> Common infrastructure for the XADD queues.(package private) classMpUnboundedXaddArrayQueueConsumerFields<R extends MpUnboundedXaddChunk<R,E>, E> (package private) classMpUnboundedXaddArrayQueuePad3<R extends MpUnboundedXaddChunk<R,E>, E> (package private) classMpUnboundedXaddArrayQueuePad5<R extends MpUnboundedXaddChunk<R,E>, E>