Package | Description |
---|---|
com.lmax.disruptor |
The Disruptor is a concurrent programming framework for exchanging and coordinating work as a continuous series of events.
|
com.lmax.disruptor.dsl |
Modifier and Type | Class and Description |
---|---|
class |
BlockingWaitStrategy
Blocking strategy that uses a lock and condition variable for
EventProcessor s waiting on a barrier. |
class |
BusySpinWaitStrategy
Busy Spin strategy that uses a busy spin loop for
EventProcessor s waiting on a barrier. |
class |
LiteBlockingWaitStrategy
Variation of the
BlockingWaitStrategy that attempts to elide conditional wake-ups when
the lock is uncontended. |
class |
LiteTimeoutBlockingWaitStrategy
Variation of the
TimeoutBlockingWaitStrategy that attempts to elide conditional wake-ups
when the lock is uncontended. |
class |
PhasedBackoffWaitStrategy
Phased wait strategy for waiting
EventProcessor s on a barrier. |
class |
SleepingWaitStrategy
Sleeping strategy that initially spins, then uses a Thread.yield(), and
eventually sleep (
LockSupport.parkNanos(1) ) for the minimum
number of nanos the OS and JVM will allow while the
EventProcessor s are waiting on a barrier. |
class |
TimeoutBlockingWaitStrategy |
class |
YieldingWaitStrategy
Yielding strategy that uses a Thread.yield() for
EventProcessor s waiting on a barrier
after an initially spinning. |
Modifier and Type | Field and Description |
---|---|
private WaitStrategy |
PhasedBackoffWaitStrategy.fallbackStrategy |
private WaitStrategy |
ProcessingSequenceBarrier.waitStrategy |
protected WaitStrategy |
AbstractSequencer.waitStrategy |
Modifier and Type | Method and Description |
---|---|
static <E> RingBuffer<E> |
RingBuffer.create(ProducerType producerType,
EventFactory<E> factory,
int bufferSize,
WaitStrategy waitStrategy)
Create a new Ring Buffer with the specified producer type (SINGLE or MULTI)
|
static <E> RingBuffer<E> |
RingBuffer.createMultiProducer(EventFactory<E> factory,
int bufferSize,
WaitStrategy waitStrategy)
Create a new multiple producer RingBuffer with the specified wait strategy.
|
static <E> RingBuffer<E> |
RingBuffer.createSingleProducer(EventFactory<E> factory,
int bufferSize,
WaitStrategy waitStrategy)
Create a new single producer RingBuffer with the specified wait strategy.
|
Constructor and Description |
---|
AbstractSequencer(int bufferSize,
WaitStrategy waitStrategy)
Create with the specified buffer size and wait strategy.
|
MultiProducerSequencer(int bufferSize,
WaitStrategy waitStrategy)
Construct a Sequencer with the selected wait strategy and buffer size.
|
PhasedBackoffWaitStrategy(long spinTimeout,
long yieldTimeout,
java.util.concurrent.TimeUnit units,
WaitStrategy fallbackStrategy) |
ProcessingSequenceBarrier(Sequencer sequencer,
WaitStrategy waitStrategy,
Sequence cursorSequence,
Sequence[] dependentSequences) |
SingleProducerSequencer(int bufferSize,
WaitStrategy waitStrategy)
Construct a Sequencer with the selected wait strategy and buffer size.
|
SingleProducerSequencerFields(int bufferSize,
WaitStrategy waitStrategy) |
SingleProducerSequencerPad(int bufferSize,
WaitStrategy waitStrategy) |
Constructor and Description |
---|
Disruptor(EventFactory<T> eventFactory,
int ringBufferSize,
java.util.concurrent.Executor executor,
ProducerType producerType,
WaitStrategy waitStrategy)
Deprecated.
Use a
ThreadFactory instead of an Executor as a the ThreadFactory
is able to report errors when it is unable to construct a thread to run a producer. |
Disruptor(EventFactory<T> eventFactory,
int ringBufferSize,
java.util.concurrent.ThreadFactory threadFactory,
ProducerType producerType,
WaitStrategy waitStrategy)
Create a new Disruptor.
|