Package de.aristaflow.adept2.util.threading.executor
package de.aristaflow.adept2.util.threading.executor
-
ClassDescriptionA 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.This class represents runtime data for an one work executor.AbstractObjectRunnable<O1,
O2, R> An abstract implementation for anObjectRunnableincluding some lifecycle management like being active and termination.AbstractObjectSpecificExecutor<O1,O2, R> A thread pool executor that accepts work for specific objects.A pipelining executor handles work in pipelines.A pipeline executor that has an upper limit for the amount of pipelines.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.A runnable for having exactly one runnable per object.ObjectRunnable<O1,O2> This interface represents a runnable that is identified via a specific object.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.This scheduled one work executor handles the usual pending work for before and after a flush.This class extendsRuntimeDataby a runnable which will be delayed and the corresponding future stemming from scheduling the runnable in the scheduling executor.A runnable that will enqueue a delayed object runnable as soon as the delay elapsed.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.