public class ThreadPool
extends java.util.concurrent.ThreadPoolExecutor
ThreadPoolExecutor that additionally
handles the submission of background(Callable) tasks at a lower
priority and with more limited slots.java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy| Constructor and Description |
|---|
ThreadPool() |
ThreadPool(int minThreads,
int maxThreads,
long msTimeout,
int backgroundThreads,
long backgroundTimeout) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterExecute(java.lang.Runnable r,
java.lang.Throwable t)
Standard
ThreadPoolExecutor extension point which checks for the
BackgroundFutureTask marker and releases a slot in the maxBackground
Semaphore. |
<T> java.util.concurrent.Future<T> |
background(java.util.concurrent.Callable<T> callable)
Schedule a task in one of the limited background slots.
|
java.util.concurrent.ExecutorService |
getExecutor()
Deprecated.
|
protected <T> java.util.concurrent.RunnableFuture<T> |
newTaskFor(java.util.concurrent.Callable<T> callable)
Overrides
ThreadPoolExecutor to return our own instance of
FutureTask so that we have a marker for when the background
activity is completed in afterExecute(Runnable, Throwable). |
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, 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, toStringpublic ThreadPool()
public ThreadPool(int minThreads,
int maxThreads,
long msTimeout,
int backgroundThreads,
long backgroundTimeout)
@Deprecated public java.util.concurrent.ExecutorService getExecutor()
ThreadPool was not itself an
ExecutorService and returned a delegate instead, most typically
in a Spring configuration.public <T> java.util.concurrent.Future<T> background(java.util.concurrent.Callable<T> callable)
callable - protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T> callable)
ThreadPoolExecutor to return our own instance of
FutureTask so that we have a marker for when the background
activity is completed in afterExecute(Runnable, Throwable).
Overriding this method is somewhat non-standard.newTaskFor in class java.util.concurrent.AbstractExecutorServiceprotected void afterExecute(java.lang.Runnable r,
java.lang.Throwable t)
ThreadPoolExecutor extension point which checks for the
BackgroundFutureTask marker and releases a slot in the maxBackground
Semaphore.afterExecute in class java.util.concurrent.ThreadPoolExecutor
Version: 5.4.10-ice35-b105
Copyright © 2019 The University of Dundee & Open Microscopy Environment. All Rights Reserved.