| Package | Description |
|---|---|
| de.aristaflow.adept2.util.threading.executor |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractObjectRunnable<O1,O2,R>
An abstract implementation for an
ObjectRunnable including some lifecycle management
like being active and termination. |
class |
ObjectOneWorkRunnable<O>
A runnable for having exactly one runnable per object.
|
class |
PipelineRunnable<O,P>
A runnable that executes all runnables that are present for a specific
object.
|
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Collection<ObjectRunnable<?,O2>> |
ObjectSpecificFlushCallable.await
All pipelines of which the termination needs to be awaited.
|
protected java.util.Map<O2,Pair<ObjectRunnable<O1,O2>,R>> |
AbstractObjectRunnable.objects
The data structures containing all objects and the corresponding work.
|
protected java.util.Map<O2,Pair<ObjectRunnable<O1,O2>,R>> |
AbstractObjectSpecificExecutor.objects
All managed objects, their runnables as well as their runtime data.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract ObjectRunnable<O1,O2> |
AbstractObjectSpecificExecutor.addRunnable(O1 registeredObject,
O2 indexObject,
java.lang.Runnable task)
Adds the designated runnable for the designated object and index object to this executor.
|
protected ObjectRunnable<O,O> |
ObjectOneWorkExecutor.addRunnable(O registeredObject,
O indexObject,
java.lang.Runnable task) |
protected ObjectRunnable<O,P> |
AbstractPipeliningExecutor.addRunnable(O registeredObject,
P indexObject,
java.lang.Runnable task) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract <T> Pair<java.util.concurrent.Future<T>,java.util.Map<O2,R>> |
AbstractObjectSpecificExecutor.cancelAndFlush(boolean shutdownRequest,
java.util.Map<O2,R> pending,
java.util.concurrent.Callable<T> task,
java.util.Collection<ObjectRunnable<O1,O2>> objectRunnables)
Cancels the designated pending work (if appropriate), flushes (i. e. waits for or aborts the
designated runnables) and executes the designated task.
|
protected <T> Pair<java.util.concurrent.Future<T>,java.util.Map<O,Pair<java.lang.Runnable,java.lang.Runnable>>> |
ObjectOneWorkExecutor.cancelAndFlush(boolean shutdownRequest,
java.util.Map<O,Pair<java.lang.Runnable,java.lang.Runnable>> pending,
java.util.concurrent.Callable<T> task,
java.util.Collection<ObjectRunnable<O,O>> objectRunnables) |
protected <T> Pair<java.util.concurrent.Future<T>,java.util.Map<P,java.util.Queue<java.lang.Runnable>>> |
AbstractPipeliningExecutor.cancelAndFlush(boolean shutdownRequest,
java.util.Map<P,java.util.Queue<java.lang.Runnable>> pending,
java.util.concurrent.Callable<T> task,
java.util.Collection<ObjectRunnable<O,P>> objectRunnables) |
| Constructor and Description |
|---|
AbstractObjectRunnable(O1 registeredObject,
O2 indexObject,
java.util.Map<O2,Pair<ObjectRunnable<O1,O2>,R>> objects,
java.util.concurrent.atomic.AtomicInteger terminate,
java.util.logging.Logger logger)
Creates a new runnable for the designated object.
|
ObjectSpecificFlushCallable(java.util.concurrent.Callable<T> task,
java.util.Collection<ObjectRunnable<?,O2>> await,
boolean abortedPending,
AbstractObjectSpecificExecutor<?,O2,?> executor,
java.util.logging.Logger logger)
Creates a new runnable that executes an exclusive tasks without any object work running.
|
PipelineRunnable(O object,
P pipelineId,
java.util.Queue<java.lang.Runnable> pipeline,
java.util.Map<P,Pair<ObjectRunnable<O,P>,java.util.Queue<java.lang.Runnable>>> pipelines,
java.util.concurrent.atomic.AtomicInteger terminate,
java.util.logging.Logger logger)
Creates a new runnable that executes all the work present for a specific
object (in a pipeline).
|