Package org.kquiet.concurrent
Class PausablePriorityThreadPoolExecutor
java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
org.kquiet.concurrent.PausableThreadPoolExecutor
org.kquiet.concurrent.PausablePriorityThreadPoolExecutor
- All Implemented Interfaces:
Executor
,ExecutorService
PausableThreadPoolExecutor
which execute tasks by their priority. This class is for
internal use.- Author:
- Kimberly
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
-
Constructor Summary
ConstructorsConstructorDescriptionCreate aPausablePriorityThreadPoolExecutor
with core/maximum pool size set to one.PausablePriorityThreadPoolExecutor
(String poolPrefix, int corePoolSize, int maximumPoolSize) Create aPausablePriorityThreadPoolExecutor
with specified parameters and max pool size to five.PausablePriorityThreadPoolExecutor
(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize) Create aPausablePriorityThreadPoolExecutor
with specified parameters.PausablePriorityThreadPoolExecutor
(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize, long keepAliveTime, TimeUnit unit, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters.PausablePriorityThreadPoolExecutor
(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters.PausablePriorityThreadPoolExecutor
(String poolPrefix, int corePoolSize, int maximumPoolSize, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters. -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> RunnableFuture<T>
newTaskFor
(Runnable runnable, T value) protected <T> RunnableFuture<T>
newTaskFor
(Callable<T> callable) Methods inherited from class org.kquiet.concurrent.PausableThreadPoolExecutor
afterExecute, beforeExecute, isPaused, pause, resume
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow, terminated, toString
-
Constructor Details
-
PausablePriorityThreadPoolExecutor
public PausablePriorityThreadPoolExecutor()Create aPausablePriorityThreadPoolExecutor
with core/maximum pool size set to one. -
PausablePriorityThreadPoolExecutor
Create aPausablePriorityThreadPoolExecutor
with specified parameters and max pool size to five.- Parameters:
poolPrefix
- prefix name of thread poolcorePoolSize
- core pool sizemaximumPoolSize
- maximum pool size
-
PausablePriorityThreadPoolExecutor
public PausablePriorityThreadPoolExecutor(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize) Create aPausablePriorityThreadPoolExecutor
with specified parameters.- Parameters:
poolPrefix
- prefix name of thread poolcorePoolSize
- core pool sizemaximumPoolSize
- maximum pool sizequeueSize
- the maximum queue size used for holding tasks before they are executed
-
PausablePriorityThreadPoolExecutor
public PausablePriorityThreadPoolExecutor(String poolPrefix, int corePoolSize, int maximumPoolSize, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters.- Parameters:
poolPrefix
- prefix name of thread poolcorePoolSize
- core pool sizemaximumPoolSize
- maximum pool sizeafterExecuteFunc
- the function to execute after any task is executed
-
PausablePriorityThreadPoolExecutor
public PausablePriorityThreadPoolExecutor(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters.- Parameters:
poolPrefix
- prefix name of thread poolcorePoolSize
- core pool sizemaximumPoolSize
- maximum pool sizequeueSize
- the maximum queue size used for holding tasks before they are executedafterExecuteFunc
- the function to execute after any task is executed
-
PausablePriorityThreadPoolExecutor
public PausablePriorityThreadPoolExecutor(String poolPrefix, int corePoolSize, int maximumPoolSize, int queueSize, long keepAliveTime, TimeUnit unit, Consumer<Runnable> afterExecuteFunc) Create aPausablePriorityThreadPoolExecutor
with specified parameters.- Parameters:
poolPrefix
- prefix name of thread poolcorePoolSize
- core pool sizemaximumPoolSize
- maximum pool sizequeueSize
- the maximum queue size used for holding tasks before they are executedkeepAliveTime
- when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating.unit
- the time unit for thekeepAliveTime
argumentafterExecuteFunc
- the function to execute after any task is executed
-
-
Method Details
-
newTaskFor
- Overrides:
newTaskFor
in classAbstractExecutorService
-
newTaskFor
- Overrides:
newTaskFor
in classAbstractExecutorService
-