Class LimitedPipelineExecutor<O>
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- java.util.concurrent.ThreadPoolExecutor
-
- de.aristaflow.adept2.util.threading.AFThreadPoolExecutor
-
- de.aristaflow.adept2.util.threading.AbstractPipeliningExecutor<O,Integer>
-
- de.aristaflow.adept2.util.threading.LimitedPipelineExecutor<O>
-
- Type Parameters:
O
- The type of object for which work is registered and which identifies a pipeline.
- All Implemented Interfaces:
Executor
,ExecutorService
@Deprecated public class LimitedPipelineExecutor<O> extends AbstractPipeliningExecutor<O,Integer>
Deprecated.UseLimitedPipelineExecutor
instead.A pipeline executor that has an upper limit for the amount of pipelines. Several different objects will be executed by the same pipeline.- Author:
- Ulrich Kreher
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
-
-
Field Summary
Fields Modifier and Type Field Description protected int
limit
Deprecated.The maximum amount of pipelines.-
Fields inherited from class de.aristaflow.adept2.util.threading.AbstractPipeliningExecutor
abortCount, flushPending, logger, pipelines, shutdownPending
-
Fields inherited from class de.aristaflow.adept2.util.threading.AFThreadPoolExecutor
activeThreads, completedTasks, HYSTERESIS, submittedTasks
-
-
Constructor Summary
Constructors Constructor Description LimitedPipelineExecutor(int limit, Adept2ThreadFactory threadFactory)
Deprecated.Creates a new thread pool executor with the designated amount of pipelines and threads.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected Integer
getPipelineFor(O object)
Deprecated.Gets the identifier determining the pipeline for the designated object accordingly to the limit of the number of pipelines.-
Methods inherited from class de.aristaflow.adept2.util.threading.AbstractPipeliningExecutor
execute, flushAndExecute, flushAndExecuteUnchecked, isShutdown, restartPipelines, shutdown, shutdownNow, submit, submit, submitAndFlush
-
Methods inherited from class de.aristaflow.adept2.util.threading.AFThreadPoolExecutor
afterExecute, beforeExecute, execute, logPoolStatistics, newTaskFor, newTaskFor, recalculateLogLimits, setCorePoolSize, setLogExecuteCallStack, setMaximumPoolSize, updateQueueLimit
-
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setKeepAliveTime, setRejectedExecutionHandler, setThreadFactory, terminated, toString
-
-
-
-
Constructor Detail
-
LimitedPipelineExecutor
public LimitedPipelineExecutor(int limit, Adept2ThreadFactory threadFactory)
Deprecated.Creates a new thread pool executor with the designated amount of pipelines and threads. The threads will stay idle for 60 seconds before they terminate.- Parameters:
limit
- The maximum number of threads allowed in the pool and also the maximum number of pipelines.threadFactory
- The factory to use when the executor creates a new thread.
-
-
Method Detail
-
getPipelineFor
protected Integer getPipelineFor(O object)
Deprecated.Gets the identifier determining the pipeline for the designated object accordingly to the limit of the number of pipelines. Returns the hashcode of the designated object modulo the limit.- Specified by:
getPipelineFor
in classAbstractPipeliningExecutor<O,Integer>
- Parameters:
object
- The object for which to determine the pipeline.- Returns:
- The identifier determining the pipeline for the designated object.
-
-