public class ThreadPool
extends java.lang.Object
implements java.util.concurrent.ThreadFactory, java.util.concurrent.ExecutorService
| Modifier | Constructor and Description |
|---|---|
protected |
ThreadPool(java.lang.String name,
java.util.function.Function<java.util.concurrent.ThreadFactory,java.util.concurrent.ExecutorService> newPool) |
protected |
ThreadPool(java.lang.ThreadGroup threadGroup,
java.lang.String name,
java.util.function.Function<java.util.concurrent.ThreadFactory,java.util.concurrent.ExecutorService> newPool) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit) |
static ThreadPool |
cachedThreadPool(java.lang.String name)
Return a thread pool that supports unlimited number of threads.
|
ThreadPool |
daemon() |
ThreadPool |
daemon(boolean b) |
void |
execute(java.lang.Runnable command) |
static ThreadPool |
fixedThreadPool(java.lang.String name,
int nThreads)
Returns a fixed size pool.
|
<T> java.util.List<java.util.concurrent.Future<T>> |
invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) |
<T> java.util.List<java.util.concurrent.Future<T>> |
invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
<T> T |
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) |
<T> T |
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
boolean |
isShutdown() |
boolean |
isTerminated() |
java.lang.Thread |
newThread(java.lang.Runnable runnable) |
static ThreadPool |
rateLimitedThreadPool(java.lang.String name,
int threadCoreSize,
int threadMaxSize,
long threadKeepAliveSec,
int threadQueueSize) |
ThreadPool |
rejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler) |
void |
shutdown() |
java.util.List<java.lang.Runnable> |
shutdownNow() |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> task) |
java.util.concurrent.Future<?> |
submit(java.lang.Runnable task) |
<T> java.util.concurrent.Future<T> |
submit(java.lang.Runnable task,
T result) |
ThreadPool |
threadGroup(java.lang.ThreadGroup threadGroup) |
<T extends java.util.concurrent.ExecutorService> |
unwrap() |
protected ThreadPool(java.lang.ThreadGroup threadGroup,
java.lang.String name,
java.util.function.Function<java.util.concurrent.ThreadFactory,java.util.concurrent.ExecutorService> newPool)
protected ThreadPool(java.lang.String name,
java.util.function.Function<java.util.concurrent.ThreadFactory,java.util.concurrent.ExecutorService> newPool)
public static ThreadPool cachedThreadPool(java.lang.String name)
name - name of the poolpublic static ThreadPool rateLimitedThreadPool(java.lang.String name, int threadCoreSize, int threadMaxSize, long threadKeepAliveSec, int threadQueueSize)
public static ThreadPool fixedThreadPool(java.lang.String name, int nThreads)
name - name of the poolnThreads - number of threadspublic ThreadPool daemon()
public ThreadPool daemon(boolean b)
public ThreadPool threadGroup(java.lang.ThreadGroup threadGroup)
public ThreadPool rejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler)
public <T extends java.util.concurrent.ExecutorService> T unwrap()
public java.lang.Thread newThread(java.lang.Runnable runnable)
newThread in interface java.util.concurrent.ThreadFactorypublic void shutdown()
shutdown in interface java.util.concurrent.ExecutorServicepublic java.util.List<java.lang.Runnable> shutdownNow()
shutdownNow in interface java.util.concurrent.ExecutorServicepublic boolean isShutdown()
isShutdown in interface java.util.concurrent.ExecutorServicepublic boolean isTerminated()
isTerminated in interface java.util.concurrent.ExecutorServicepublic boolean awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
awaitTermination in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
submit in interface java.util.concurrent.ExecutorServicepublic <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task,
T result)
submit in interface java.util.concurrent.ExecutorServicepublic java.util.concurrent.Future<?> submit(java.lang.Runnable task)
submit in interface java.util.concurrent.ExecutorServicepublic <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
throws java.lang.InterruptedException
invokeAll in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
invokeAll in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException
invokeAny in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException,
java.util.concurrent.TimeoutException
invokeAny in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutExceptionpublic void execute(java.lang.Runnable command)
execute in interface java.util.concurrent.Executor