public final class QueueExecutor extends AbstractExecutorService implements BlockingExecutorService, BoundedQueueThreadPoolExecutorMBean, ShutdownListenable
| Constructor and Description |
|---|
QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
int queueLength,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor)
Create a new instance.
|
QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
Queue<Runnable> queue,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor)
Create a new instance.
|
QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
Queue<Runnable> queue,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor,
DirectExecutor taskExecutor)
Create a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
<A> void |
addShutdownListener(EventListener<A> shutdownListener,
A attachment)
Add a shutdown listener.
|
boolean |
awaitTermination(long timeout,
TimeUnit unit) |
void |
execute(Runnable task)
Execute a task.
|
void |
executeBlocking(Runnable task)
Execute a task, blocking until it can be accepted, or until the calling thread is interrupted.
|
void |
executeBlocking(Runnable task,
long timeout,
TimeUnit unit)
Execute a task, blocking until it can be accepted, a timeout elapses, or the calling thread is interrupted.
|
void |
executeNonBlocking(Runnable task)
Execute a task, without blocking.
|
int |
getCoreThreads() |
int |
getCurrentThreadCount() |
Executor |
getHandoffExecutor()
Get the handoff executor which is called when a task cannot be accepted immediately.
|
long |
getKeepAliveTime() |
int |
getLargestThreadCount() |
int |
getMaxThreads() |
int |
getRejectedCount() |
boolean |
isAllowCoreThreadTimeout() |
boolean |
isBlocking()
Determine whether this thread pool executor is set to block when a task cannot be accepted immediately.
|
boolean |
isShutdown() |
boolean |
isTerminated() |
void |
setAllowCoreThreadTimeout(boolean allowCoreThreadTimeout) |
void |
setBlocking(boolean blocking)
Set whether this thread pool executor should be set to block when a task cannot be accepted immediately.
|
void |
setCoreThreads(int coreThreads) |
void |
setHandoffExecutor(Executor handoffExecutor)
Set the handoff executor which is called when a task cannot be accepted immediately.
|
void |
setKeepAliveTime(long milliseconds) |
void |
setKeepAliveTime(long keepAliveTime,
TimeUnit keepAliveTimeUnit)
Set the keep-alive time to the given amount of time.
|
void |
setMaxThreads(int maxThreads) |
void |
shutdown() |
List<Runnable> |
shutdownNow() |
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submitpublic QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
Queue<Runnable> queue,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor,
DirectExecutor taskExecutor)
coreThreads - the number of threads to create before enqueueing tasksmaxThreads - the maximum number of threads to createkeepAliveTime - the amount of time that an idle thread should remain activekeepAliveTimeUnit - the unit of time for keepAliveTimequeue - the queue to use for tasksthreadFactory - the thread factory to use for new threadsblocking - true if the executor should block when the queue is full and no threads are available, false to use the handoff executorhandoffExecutor - the executor which is called when blocking is disabled and a task cannot be accepted, or null to reject the tasktaskExecutor - the executor to use to execute taskspublic QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
Queue<Runnable> queue,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor)
coreThreads - the number of threads to create before enqueueing tasksmaxThreads - the maximum number of threads to createkeepAliveTime - the amount of time that an idle thread should remain activekeepAliveTimeUnit - the unit of time for keepAliveTimequeue - the queue to use for tasksthreadFactory - the thread factory to use for new threadsblocking - true if the executor should block when the queue is full and no threads are available, false to use the handoff executorhandoffExecutor - the executor which is called when blocking is disabled and a task cannot be accepted, or null to reject the taskpublic QueueExecutor(int coreThreads,
int maxThreads,
long keepAliveTime,
TimeUnit keepAliveTimeUnit,
int queueLength,
ThreadFactory threadFactory,
boolean blocking,
Executor handoffExecutor)
coreThreads - the number of threads to create before enqueueing tasksmaxThreads - the maximum number of threads to createkeepAliveTime - the amount of time that an idle thread should remain activekeepAliveTimeUnit - the unit of time for keepAliveTimequeueLength - the fixed queue length to use for tasksthreadFactory - the thread factory to use for new threadsblocking - true if the executor should block when the queue is full and no threads are available, false to use the handoff executorhandoffExecutor - the executor which is called when blocking is disabled and a task cannot be accepted, or null to reject the taskpublic void execute(Runnable task) throws RejectedExecutionException
execute in interface Executorexecute in interface BlockingExecutortask - the task to executeRejectedExecutionException - when a task is rejected by the handoff executorStoppedExecutorException - when the executor is terminatingExecutionInterruptedException - when blocking is enabled and the current thread is interrupted before a task could be acceptedpublic void executeBlocking(Runnable task) throws RejectedExecutionException, InterruptedException
executeBlocking in interface BlockingExecutortask - the task to submitStoppedExecutorException - if the executor was shut down before the task was acceptedThreadCreationException - if a thread could not be created for some reasonRejectedExecutionException - if execution is rejected for some other reasonInterruptedException - if the current thread was interrupted before the task could be acceptedNullPointerException - if command is nullpublic void executeBlocking(Runnable task, long timeout, TimeUnit unit) throws RejectedExecutionException, InterruptedException
executeBlocking in interface BlockingExecutortask - the task to submittimeout - the amount of time to waitunit - the unit of timeExecutionTimedOutException - if the timeout elapsed before a task could be acceptedStoppedExecutorException - if the executor was shut down before the task was acceptedThreadCreationException - if a thread could not be created for some reasonRejectedExecutionException - if execution is rejected for some other reasonInterruptedException - if the current thread was interrupted before the task could be acceptedNullPointerException - if command is nullpublic void executeNonBlocking(Runnable task) throws RejectedExecutionException
executeNonBlocking in interface BlockingExecutortask - the task to submitStoppedExecutorException - if the executor was shut down before the task was acceptedThreadCreationException - if a thread could not be created for some reasonRejectedExecutionException - if execution is rejected for some other reasonNullPointerException - if command is nullpublic void shutdown()
shutdown in interface ExecutorServicepublic List<Runnable> shutdownNow()
shutdownNow in interface ExecutorServicepublic boolean isShutdown()
isShutdown in interface ExecutorServicepublic boolean isTerminated()
isTerminated in interface ExecutorServicepublic boolean awaitTermination(long timeout,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface ExecutorServiceInterruptedExceptionpublic boolean isAllowCoreThreadTimeout()
isAllowCoreThreadTimeout in interface BoundedQueueThreadPoolExecutorMBeanpublic void setAllowCoreThreadTimeout(boolean allowCoreThreadTimeout)
setAllowCoreThreadTimeout in interface BoundedQueueThreadPoolExecutorMBeanpublic int getCoreThreads()
getCoreThreads in interface BoundedQueueThreadPoolExecutorMBeanpublic void setCoreThreads(int coreThreads)
setCoreThreads in interface BoundedQueueThreadPoolExecutorMBeanpublic int getMaxThreads()
getMaxThreads in interface ThreadPoolExecutorMBeanpublic void setMaxThreads(int maxThreads)
setMaxThreads in interface ThreadPoolExecutorMBeanpublic long getKeepAliveTime()
getKeepAliveTime in interface ThreadPoolExecutorMBeanpublic void setKeepAliveTime(long keepAliveTime,
TimeUnit keepAliveTimeUnit)
keepAliveTime - the amount of timekeepAliveTimeUnit - the unit of timepublic void setKeepAliveTime(long milliseconds)
setKeepAliveTime in interface ThreadPoolExecutorMBeanpublic boolean isBlocking()
isBlocking in interface BoundedThreadPoolExecutorMBeantrue if blocking is enabled, false if the handoff executor is usedpublic void setBlocking(boolean blocking)
setBlocking in interface BoundedThreadPoolExecutorMBeanblocking - true if blocking is enabled, false if the handoff executor is usedpublic Executor getHandoffExecutor()
public void setHandoffExecutor(Executor handoffExecutor)
handoffExecutor - the handoff executorpublic <A> void addShutdownListener(EventListener<A> shutdownListener, A attachment)
addShutdownListener in interface ShutdownListenableA - the attachment typeshutdownListener - the listenerattachment - the attachment value to pass to the listenerpublic int getCurrentThreadCount()
getCurrentThreadCount in interface ThreadExecutorMBeanpublic int getLargestThreadCount()
getLargestThreadCount in interface ThreadExecutorMBeanpublic int getRejectedCount()
getRejectedCount in interface ThreadExecutorMBeanCopyright © 2012 JBoss by Red Hat. All Rights Reserved.