BaseLinkedQueue
A base data structure for concurrent linked queues.
|
BaseLinkedQueueConsumerNodeRef |
BaseLinkedQueuePad0 |
BaseLinkedQueuePad1 |
BaseLinkedQueueProducerNodeRef |
BaseMpscLinkedArrayQueue
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
BaseMpscLinkedArrayQueueColdProducerFields |
BaseMpscLinkedArrayQueueConsumerFields |
BaseMpscLinkedArrayQueuePad1 |
BaseMpscLinkedArrayQueuePad2 |
BaseMpscLinkedArrayQueuePad3 |
BaseMpscLinkedArrayQueueProducerFields |
BaseSpscLinkedArrayQueue |
BaseSpscLinkedArrayQueueConsumerColdFields |
BaseSpscLinkedArrayQueueConsumerField |
BaseSpscLinkedArrayQueueL2Pad |
BaseSpscLinkedArrayQueuePrePad |
BaseSpscLinkedArrayQueueProducerColdFields |
BaseSpscLinkedArrayQueueProducerFields |
BQueueColdFields |
BQueueL0Pad |
BQueueL1Pad |
BQueueL2Pad |
BQueueL3Pad |
BQueueOfferFields |
BQueuePollFields |
ConcurrentCircularArrayQueue
A concurrent access enabling class used by circular array based queues this class exposes an offset computation
method along with differently memory fenced load/store methods into the underlying array.
|
ConcurrentCircularArrayQueueL0Pad |
ConcurrentSequencedCircularArrayQueue |
FFBufferHeadField |
FFBufferL1Pad |
FFBufferL2Pad |
FFBufferL3Pad |
FFBufferTailField |
FloatingCaqColdFields |
IndexedQueueSizeUtil.IndexedQueue |
InlinedRingBufferColdFields |
InlinedRingBufferL0Pad |
InlinedRingBufferL1Pad |
InlinedRingBufferL2Pad |
InlinedRingBufferL3Pad |
InlinedRingBufferOfferFields |
InlinedRingBufferPollFields |
LinkedQueueNode |
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 |
MpmcArrayQueueConsumerField |
MpmcArrayQueueL1Pad |
MpmcArrayQueueL2Pad |
MpmcArrayQueueProducerField |
MpmcConcurrentQueueSMBuffer |
MpmcConcurrentQueueSMBufferL0Pad |
MpmcConcurrentQueueSMHeadField |
MpmcConcurrentQueueSML1Pad |
MpmcConcurrentQueueSML2Pad |
MpmcConcurrentQueueSMTailField |
MpscArrayQueue
|
MpscArrayQueueConsumerField |
MpscArrayQueueHeadLimitField |
MpscArrayQueueL1Pad |
MpscArrayQueueL2Pad |
MpscArrayQueueMidPad |
MpscArrayQueueTailField |
MpscChunkedArrayQueue
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks
of the initial size.
|
MpscChunkedArrayQueueColdProducerFields |
MpscCompoundQueueColdFields |
MpscCompoundQueueConsumerQueueIndex |
MpscCompoundQueueL0Pad
Use a set number of parallel MPSC queues to diffuse the contention on tail.
|
MpscCompoundQueueMidPad |
MpscLinkedArrayQueue.ARA2 |
MpscLinkedQueue
This is a direct Java port of the MPSC algorithm as presented
on
1024 Cores by D.
|
MpscOnSpscFields |
MpscOnSpscFields.ThreadWeakRef |
MpscOnSpscL0Pad
Use an SPSC per producer.
|
MpscSequencedArrayQueueConsumerField |
MpscSequencedArrayQueueL1Pad |
MpscSequencedArrayQueueL2Pad |
MpscSequencedArrayQueueProducerField |
QueueProgressIndicators
This interface is provided for monitoring purposes only and is only available on queues where it is easy to
provide it.
|
SpmcArrayQueueConsumerField |
SpmcArrayQueueL1Pad |
SpmcArrayQueueL2Pad |
SpmcArrayQueueL3Pad |
SpmcArrayQueueMidPad |
SpmcArrayQueueProducerField |
SpmcArrayQueueProducerIndexCacheField |
SpscArrayQueueColdField |
SpscArrayQueueConsumerField |
SpscArrayQueueL1Pad |
SpscArrayQueueL2Pad |
SpscArrayQueueProducerFields |