AbstractObjectOneWorkExecutor<O,R extends AbstractObjectOneWorkExecutor.RuntimeData> |
A one work executor allows for an arbitrary amount of objects having work, but only one piece of
work is allowed for each object at a time.
|
AbstractObjectOneWorkExecutor.RuntimeData |
This class represents runtime data for an one work executor.
|
AbstractObjectRunnable<O1,O2,R> |
An abstract implementation for an ObjectRunnable including some lifecycle management
like being active and termination.
|
AbstractObjectSpecificExecutor<O1,O2,R> |
A thread pool executor that accepts work for specific objects.
|
AbstractPipeliningExecutor<O,P> |
A pipelining executor handles work in pipelines.
|
LimitedPipelineExecutor<O> |
A pipeline executor that has an upper limit for the amount of pipelines.
|
ObjectOneWorkExecutor<O> |
This one work executor simply uses the normal runtime data that is, it allows for one piece of
work for each object pending before and after a flush.
|
ObjectOneWorkRunnable<O,R extends AbstractObjectOneWorkExecutor.RuntimeData> |
A runnable for having exactly one runnable per object.
|
ObjectSpecificFlushCallable<O2,T> |
A callable that executes a specific task exclusively without any object work running
concurrently.
|
PipelineRunnable<O,P> |
A runnable that executes all runnables that are present for a specific
object.
|
ScheduledObjectOneWorkExecutor<O> |
This scheduled one work executor handles the usual pending work for before and after a flush.
|
ScheduledObjectOneWorkExecutor.ScheduledRuntimeData |
This class extends RuntimeData by a runnable which will be delayed and the
corresponding future stemming from scheduling the runnable in the scheduling executor.
|
ScheduledObjectOneWorkRunnable<O> |
A runnable that will enqueue a delayed object runnable as soon as the delay elapsed.
|
UnlimitedPipelineExecutor<O> |
A pipeline executor that has a separate pipeline for each registered object
and therefore also no upper limit concerning the amount of pipelines as well
as the amount of threads.
|