All Classes and Interfaces

Class
Description
A simple implementation of Map.Entry.
The queue factory produces Queue instances based on a best fit to the ConcurrentQueueSpec.
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
A base data structure for concurrent linked queues.
 
 
 
 
 
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.
 
 
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
 
 
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
An auto-resizing table of longs, supporting low-contention CAS operations.
 
Common functionality for array backed queues.
 
 
Deprecated.
 
Base counter interface.
 
 
 
Basic class representing static striped long counter with common mechanics for implementors.
Lock-free implementation of striped counter using CAS primitives.
Wait-free implementation of striped counter using Java 8 Unsafe intrinsics (lock addq and lock xchg).
A note to maintainers on index assumptions: in a single threaded world it would seem intuitive to assume:
 
This annotation marks classes and methods which may be public for any reason (to support better testing or reduce code duplication) but are not intended as public API and may change between releases without the change being considered a breaking API change (a major release).
This is used for method substitution in the LinkedArray classes code generation.
 
 
Message passing queues are intended for concurrent method passing.
 
 
 
 
 
A Multi-Producer-Multi-Consumer queue based on a ConcurrentCircularArrayQueue.
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
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.
 
A Multi-Producer-Single-Consumer queue based on a ConcurrentCircularArrayQueue.
 
 
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
This is a partial implementation of the BlockingQueue on the consumer side only on top of the mechanics described in BaseMpscLinkedArrayQueue, but with the reservation bit used for blocking rather than resizing in this instance.
 
 
 
 
 
 
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
 
 
 
Use a set number of parallel MPSC queues to diffuse the contention on tail.
 
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.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
This is a Java port of the MPSC algorithm as presented on 1024 Cores by D.
An MPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
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.
 
Common infrastructure for the XADD queues.
 
 
 
 
 
 
 
 
A lock-free alternate implementation of ConcurrentHashMap with better scaling properties and generally lower costs to mutate the Map.
 
 
A lock-free alternate implementation of ConcurrentHashMap with primitive long keys, better scaling properties and generally lower costs.
 
 
A simple wrapper around NonBlockingHashMap making it implement the Set interface.
A lock-free alternate implementation of ConcurrentHashMap with better scaling properties and generally lower costs to mutate the Map.
 
 
A multi-threaded bit-vector set, implemented as an array of primitive longs.
 
Deprecated.
A padded version of the AtomicLong.
 
 
 
JVM Information that is standard and available on all JVMs (i.e.
Power of 2 utility functions.
Deprecated.
Deprecated.
This interface is provided for monitoring purposes only and is only available on queues where it is easy to provide it.
 
 
 
 
 
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
 
 
 
 
 
 
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module.
An SPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
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.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.
An SPSC array queue which starts at initialCapacity and grows indefinitely in linked chunks of the initial size.
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicLinkedQueueGenerator which can found in the jctools-build module.
Tagging interface to help testing
Why should we resort to using Unsafe?
To construct class fields which allow volatile/ordered/plain access: This requirement is covered by AtomicReferenceFieldUpdater and similar but their performance is arguably worse than the DIY approach (depending on JVM version) while Unsafe intrinsification is a far lesser challenge for JIT compilers.