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
getSubmittedCount()
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
Field Summary |
protected static StringManager |
sm
The string manager for this package. |
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, beforeExecute, 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 |
sm
protected static final StringManager sm
- The string manager for this package.
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)
getThreadRenewalDelay
public long getThreadRenewalDelay()
setThreadRenewalDelay
public void setThreadRenewalDelay(long threadRenewalDelay)
afterExecute
protected void afterExecute(Runnable r,
Throwable t)
- Overrides:
afterExecute
in class ThreadPoolExecutor
stopCurrentThreadIfNeeded
protected void stopCurrentThreadIfNeeded()
- If the current thread was started before the last time when a context was
stopped, an exception is thrown so that the current thread is stopped.
currentThreadShouldBeStopped
protected boolean currentThreadShouldBeStopped()
getSubmittedCount
public int getSubmittedCount()
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
contextStopping
public void contextStopping()
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.