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 |
Class | Description |
---|---|
BaseMpscLinkedArrayQueue |
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
ConcurrentCircularArrayQueue |
Common functionality for array backed queues.
|
ConcurrentSequencedCircularArrayQueue | |
IndexedQueueSizeUtil.IndexedQueue | |
MessagePassingQueue |
This is a tagging interface for the queues in this library which implement a subset of the
Queue
interface sufficient for concurrent message passing.Message passing queues provide happens before semantics to messages passed through, namely that writes made by the producer before offering the message are visible to the consuming thread after the message has been polled out of the queue. |
MessagePassingQueue.Consumer | |
MessagePassingQueue.ExitCondition | |
MessagePassingQueue.Supplier | |
MessagePassingQueue.WaitStrategy | |
MpscChunkedArrayQueue |
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
MpscLinkedQueue |
This is a direct Java port of the MPSC algorithm as presented
on
1024 Cores by D.
|
QueueProgressIndicators |
This interface is provided for monitoring purposes only and is only available on queues where it is easy to
provide it.
|
Class | Description |
---|---|
IndexedQueueSizeUtil.IndexedQueue | |
MessagePassingQueue |
This is a tagging interface for the queues in this library which implement a subset of the
Queue
interface sufficient for concurrent message passing.Message passing queues provide happens before semantics to messages passed through, namely that writes made by the producer before offering the message are visible to the consuming thread after the message has been polled out of the queue. |
MessagePassingQueue.Consumer | |
MessagePassingQueue.ExitCondition | |
MessagePassingQueue.Supplier | |
MessagePassingQueue.WaitStrategy | |
QueueProgressIndicators |
This interface is provided for monitoring purposes only and is only available on queues where it is easy to
provide it.
|
Copyright © 2013–2017. All rights reserved.