BaseLinkedQueue
A base data structure for concurrent linked queues.
|
BaseLinkedQueueConsumerNodeRef |
BaseLinkedQueuePad0 |
BaseLinkedQueuePad1 |
BaseLinkedQueuePad2 |
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
Common functionality for array backed queues.
|
ConcurrentCircularArrayQueueL0Pad |
ConcurrentSequencedCircularArrayQueue |
FFBufferConsumerField |
FFBufferL1Pad |
FFBufferL2Pad |
FFBufferL3Pad |
FFBufferProducerField |
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 |
MpmcArrayQueueConsumerIndexField |
MpmcArrayQueueL1Pad |
MpmcArrayQueueL2Pad |
MpmcArrayQueueL3Pad |
MpmcArrayQueueProducerIndexField |
MpmcConcurrentQueueSMBuffer |
MpmcConcurrentQueueSMBufferL0Pad |
MpmcConcurrentQueueSMHeadField |
MpmcConcurrentQueueSML1Pad |
MpmcConcurrentQueueSML2Pad |
MpmcConcurrentQueueSMTailField |
MpscArrayQueue
|
MpscArrayQueueConsumerIndexField |
MpscArrayQueueL1Pad |
MpscArrayQueueL2Pad |
MpscArrayQueueL3Pad |
MpscArrayQueueMidPad |
MpscArrayQueueProducerIndexField |
MpscArrayQueueProducerLimitField |
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.
|
MpscRelaxedArrayQueueActiveCycleIdField |
MpscRelaxedArrayQueueConsumerPositionField |
MpscRelaxedArrayQueueL0Pad |
MpscRelaxedArrayQueueL2Pad |
MpscRelaxedArrayQueueL3Pad |
MpscRelaxedArrayQueueL4Pad |
MpscRelaxedArrayQueueMidPad |
MpscRelaxedArrayQueueProducerCycleClaimFields |
MpscRelaxedArrayQueueProducerLimitField |
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.
|
SpmcArrayQueueConsumerIndexField |
SpmcArrayQueueL1Pad |
SpmcArrayQueueL2Pad |
SpmcArrayQueueL3Pad |
SpmcArrayQueueMidPad |
SpmcArrayQueueProducerIndexCacheField |
SpmcArrayQueueProducerIndexField |
SpscArrayQueueColdField |
SpscArrayQueueConsumerIndexField |
SpscArrayQueueL1Pad |
SpscArrayQueueL2Pad |
SpscArrayQueueL3Pad |
SpscArrayQueueProducerIndexFields |