org.apache.tomcat.util.threads
Class ThreadPoolExecutor
java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
org.apache.tomcat.util.threads.ThreadPoolExecutor
- All Implemented Interfaces:
- Executor, ExecutorService
public class ThreadPoolExecutor
- extends ThreadPoolExecutor
Same as a java.util.concurrent.ThreadPoolExecutor but implements a much more efficient
getActiveCount method, to be used to properly handle the work queue
If a RejectedExecutionHandler is not specified a default one will be configured
and that one will always throw a RejectedExecutionException
- Author:
- fhanik
Constructor Summary |
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue)
|
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
RejectedExecutionHandler handler)
|
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory)
|
ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
|
Methods inherited from class java.util.concurrent.ThreadPoolExecutor |
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, finalize, 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 |
ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
RejectedExecutionHandler handler)
ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory)
ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue)
afterExecute
protected void afterExecute(Runnable r,
Throwable t)
- Overrides:
afterExecute
in class ThreadPoolExecutor
beforeExecute
protected void beforeExecute(Thread t,
Runnable r)
- Overrides:
beforeExecute
in class ThreadPoolExecutor
getActiveCount
public int getActiveCount()
- Overrides:
getActiveCount
in class ThreadPoolExecutor
execute
public void execute(Runnable command)
-
- Specified by:
execute
in interface Executor
- Overrides:
execute
in class ThreadPoolExecutor
execute
public void execute(Runnable command,
long timeout,
TimeUnit unit)
- Executes the given command at some time in the future. The command
may execute in a new thread, in a pooled thread, or in the calling
thread, at the discretion of the Executor implementation.
If no threads are available, it will be added to the work queue.
If the work queue is full, the system will wait for the specified
time and it throw a RejectedExecutionException if the queue is still full after that.
- Parameters:
command
- the runnable task
- Throws:
RejectedExecutionException
- if this task cannot be
accepted for execution - the queue is full
NullPointerException
- if command or unit is null
Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.