java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
io.helidon.common.configurable.ThreadPool
- All Implemented Interfaces:
Executor,ExecutorService
A
ThreadPoolExecutor with an extensible growth policy and queue state accessors.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classARejectedExecutionHandlerthat supports pool growth by re-attempting to add the task to the queue.Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy -
Method Summary
Modifier and TypeMethodDescriptionprotected voidafterExecute(Runnable r, Throwable t) static Optional<ThreadPool>asThreadPool(ExecutorService executor) Returns the given executor as aThreadPoolif possible.protected voidbeforeExecute(Thread t, Runnable r) intReturns the current number of active threads.floatReturns the average number of active threads across the life of the pool.floatReturns the average queue size.intReturns the number of completed tasks.intReturns the number of tasks that threw an exception.getName()Returns the name of this pool.intReturns the peak queue size.io.helidon.common.configurable.ThreadPool.WorkQueuegetQueue()intReturns the queue capacity.intReturns the current number of tasks in the queue.intReturns the rejection count.intReturns the number of completed and failed tasks.booleanTests whether or not the number of threads can change over time.voidsetMaximumPoolSize(int maximumPoolSize) voidvoidshutdown()toString()Methods inherited from class java.util.concurrent.ThreadPoolExecutor
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setThreadFactory, terminatedMethods inherited from class java.util.concurrent.AbstractExecutorService
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
-
Method Details
-
asThreadPool
Returns the given executor as aThreadPoolif possible.- Parameters:
executor- The executor.- Returns:
- The thread pool or empty if not a
ThreadPool.
-
getName
Returns the name of this pool.- Returns:
- The name.
-
getQueueCapacity
public int getQueueCapacity()Returns the queue capacity.- Returns:
- The capacity.
-
getAverageQueueSize
public float getAverageQueueSize()Returns the average queue size.- Returns:
- The size.
-
getPeakQueueSize
public int getPeakQueueSize()Returns the peak queue size.- Returns:
- The size.
-
getCompletedTasks
public int getCompletedTasks()Returns the number of completed tasks.- Returns:
- The count.
-
getFailedTasks
public int getFailedTasks()Returns the number of tasks that threw an exception.- Returns:
- The count.
-
getTotalTasks
public int getTotalTasks()Returns the number of completed and failed tasks.- Returns:
- The count.
-
getActiveThreads
public int getActiveThreads()Returns the current number of active threads.- Returns:
- The count.
-
getAverageActiveThreads
public float getAverageActiveThreads()Returns the average number of active threads across the life of the pool.- Returns:
- The average.
-
getRejectionCount
public int getRejectionCount()Returns the rejection count.- Returns:
- The count.
-
isFixedSize
public boolean isFixedSize()Tests whether or not the number of threads can change over time.- Returns:
trueif maximum size is equal to core size.
-
getQueue
public io.helidon.common.configurable.ThreadPool.WorkQueue getQueue()- Overrides:
getQueuein classThreadPoolExecutor
-
getQueueSize
public int getQueueSize()Returns the current number of tasks in the queue.- Returns:
- The count.
-
setRejectedExecutionHandler
- Overrides:
setRejectedExecutionHandlerin classThreadPoolExecutor
-
getRejectedExecutionHandler
- Overrides:
getRejectedExecutionHandlerin classThreadPoolExecutor
-
setMaximumPoolSize
public void setMaximumPoolSize(int maximumPoolSize) - Overrides:
setMaximumPoolSizein classThreadPoolExecutor
-
toString
- Overrides:
toStringin classThreadPoolExecutor
-
beforeExecute
- Overrides:
beforeExecutein classThreadPoolExecutor
-
afterExecute
- Overrides:
afterExecutein classThreadPoolExecutor
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceExecutorService- Overrides:
shutdownin classThreadPoolExecutor
-
shutdownNow
- Specified by:
shutdownNowin interfaceExecutorService- Overrides:
shutdownNowin classThreadPoolExecutor
-