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 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. |
org.jctools.queues.atomic |
Modifier and Type | Method and Description |
---|---|
int |
MpscRelaxedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
MpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
SpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
SpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
MpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
MpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
BaseSpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
SpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
BaseMpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
MpscUnboundedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s) |
int |
MpscRelaxedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
MpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
SpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
SpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
MpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
MpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
BaseSpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
SpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int limit) |
int |
BaseMpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
int batchSize) |
void |
MpscRelaxedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition exit) |
void |
MpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition exit) |
void |
SpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy wait,
MessagePassingQueue.ExitCondition exit) |
void |
SpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition e) |
void |
MpscAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition exit) |
void |
MpscLinkedAtomicQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy wait,
MessagePassingQueue.ExitCondition exit) |
void |
BaseSpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy wait,
MessagePassingQueue.ExitCondition exit) |
void |
SpmcAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition e) |
void |
BaseMpscLinkedAtomicArrayQueue.fill(MessagePassingQueue.Supplier<E> s,
MessagePassingQueue.WaitStrategy w,
MessagePassingQueue.ExitCondition exit) |
(package private) boolean |
SpscChunkedAtomicArrayQueue.offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
long mask,
long pIndex,
int offset,
E v,
MessagePassingQueue.Supplier<? extends E> s) |
(package private) boolean |
SpscGrowableAtomicArrayQueue.offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
long mask,
long index,
int offset,
E v,
MessagePassingQueue.Supplier<? extends E> s) |
(package private) abstract boolean |
BaseSpscLinkedAtomicArrayQueue.offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
long mask,
long pIndex,
int offset,
E v,
MessagePassingQueue.Supplier<? extends E> s) |
(package private) boolean |
SpscUnboundedAtomicArrayQueue.offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
long mask,
long pIndex,
int offset,
E v,
MessagePassingQueue.Supplier<? extends E> s) |