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
Users should be aware that
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
Users should be aware that
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
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.