| java.lang.Object java.util.concurrent.AbstractExecutorService java.util.concurrent.ThreadPoolExecutor java.util.concurrent.ScheduledThreadPoolExecutor
Method Summary | |
boolean | canRunInCurrentRunState(boolean periodic) Returns true if can run a task given current run state
and run-after-shutdown parameters. | protected RunnableScheduledFuture<V> | decorateTask(Runnable runnable, RunnableScheduledFuture<V> task) Modifies or replaces the task used to execute a runnable. | protected RunnableScheduledFuture<V> | decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task) Modifies or replaces the task used to execute a callable. | public void | execute(Runnable command) Executes
command with zero required delay.
This has effect equivalent to
ScheduledThreadPoolExecutor.schedule(Runnable,long,TimeUnit) schedule(command, 0, anyUnit) .
Note that inspections of the queue and of the list returned by
shutdownNow will access the zero-delayed
ScheduledFuture , not the
command itself.
A consequence of the use of
ScheduledFuture objects is
that
ThreadPoolExecutor.afterExecute afterExecute is always
called with a null second
Throwable argument, even if the
command terminated abruptly. | public boolean | getContinueExistingPeriodicTasksAfterShutdownPolicy() Gets the policy on whether to continue executing existing
periodic tasks even when this executor has been
shutdown . | public boolean | getExecuteExistingDelayedTasksAfterShutdownPolicy() Gets the policy on whether to execute existing delayed
tasks even when this executor has been
shutdown . | public BlockingQueue<Runnable> | getQueue() Returns the task queue used by this executor. | final long | now() Returns current nanosecond time. | void | onShutdown() Cancels and clears the queue of all tasks that should not be run
due to shutdown policy. | void | reExecutePeriodic(RunnableScheduledFuture> task) Requeues a periodic task unless current run state precludes it. | public ScheduledFuture> | schedule(Runnable command, long delay, TimeUnit unit) | public ScheduledFuture<V> | schedule(Callable<V> callable, long delay, TimeUnit unit) | public ScheduledFuture> | scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) | public ScheduledFuture> | scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) | public void | setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value) Sets the policy on whether to continue executing existing
periodic tasks even when this executor has been
shutdown . | public void | setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value) Sets the policy on whether to execute existing delayed
tasks even when this executor has been
shutdown . | public void | shutdown() Initiates an orderly shutdown in which previously submitted
tasks are executed, but no new tasks will be accepted. | public List<Runnable> | shutdownNow() Attempts to stop all actively executing tasks, halts the
processing of waiting tasks, and returns a list of the tasks
that were awaiting execution.
There are no guarantees beyond best-effort attempts to stop
processing actively executing tasks. | public Future> | submit(Runnable task) | public Future<T> | submit(Runnable task, T result) | public Future<T> | submit(Callable<T> task) |
ScheduledThreadPoolExecutor | public ScheduledThreadPoolExecutor(int corePoolSize)(Code) | | Creates a new
ScheduledThreadPoolExecutor with the
given core pool size.
Parameters: corePoolSize - the number of threads to keep in the pool, evenif they are idle, unless allowCoreThreadTimeOut is set throws: IllegalArgumentException - if corePoolSize < 0 |
ScheduledThreadPoolExecutor | public ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory)(Code) | | Creates a new
ScheduledThreadPoolExecutor with the
given initial parameters.
Parameters: corePoolSize - the number of threads to keep in the pool, evenif they are idle, unless allowCoreThreadTimeOut is set Parameters: threadFactory - the factory to use when the executorcreates a new thread throws: IllegalArgumentException - if corePoolSize < 0 throws: NullPointerException - if threadFactory is null |
ScheduledThreadPoolExecutor | public ScheduledThreadPoolExecutor(int corePoolSize, RejectedExecutionHandler handler)(Code) | | Creates a new ScheduledThreadPoolExecutor with the given
initial parameters.
Parameters: corePoolSize - the number of threads to keep in the pool, evenif they are idle, unless allowCoreThreadTimeOut is set Parameters: handler - the handler to use when execution is blockedbecause the thread bounds and queue capacities are reached throws: IllegalArgumentException - if corePoolSize < 0 throws: NullPointerException - if handler is null |
ScheduledThreadPoolExecutor | public ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler)(Code) | | Creates a new ScheduledThreadPoolExecutor with the given
initial parameters.
Parameters: corePoolSize - the number of threads to keep in the pool, evenif they are idle, unless allowCoreThreadTimeOut is set Parameters: threadFactory - the factory to use when the executorcreates a new thread Parameters: handler - the handler to use when execution is blockedbecause the thread bounds and queue capacities are reached throws: IllegalArgumentException - if corePoolSize < 0 throws: NullPointerException - if threadFactory or handler is null |
canRunInCurrentRunState | boolean canRunInCurrentRunState(boolean periodic)(Code) | | Returns true if can run a task given current run state
and run-after-shutdown parameters.
Parameters: periodic - true if this task periodic, false if delayed |
decorateTask | protected RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> task)(Code) | | Modifies or replaces the task used to execute a runnable.
This method can be used to override the concrete
class used for managing internal tasks.
The default implementation simply returns the given task.
Parameters: runnable - the submitted Runnable Parameters: task - the task created to execute the runnable a task that can execute the runnable since: 1.6 |
decorateTask | protected RunnableScheduledFuture<V> decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task)(Code) | | Modifies or replaces the task used to execute a callable.
This method can be used to override the concrete
class used for managing internal tasks.
The default implementation simply returns the given task.
Parameters: callable - the submitted Callable Parameters: task - the task created to execute the callable a task that can execute the callable since: 1.6 |
getContinueExistingPeriodicTasksAfterShutdownPolicy | public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy()(Code) | | Gets the policy on whether to continue executing existing
periodic tasks even when this executor has been
shutdown .
In this case, these tasks will only terminate upon
shutdownNow or after setting the policy to
false when already shutdown.
This value is by default
false .
true if will continue after shutdown See Also: ScheduledThreadPoolExecutor.setContinueExistingPeriodicTasksAfterShutdownPolicy |
getExecuteExistingDelayedTasksAfterShutdownPolicy | public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy()(Code) | | Gets the policy on whether to execute existing delayed
tasks even when this executor has been
shutdown .
In this case, these tasks will only terminate upon
shutdownNow , or after setting the policy to
false when already shutdown.
This value is by default
true .
true if will execute after shutdown See Also: ScheduledThreadPoolExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy |
getQueue | public BlockingQueue<Runnable> getQueue()(Code) | | Returns the task queue used by this executor. Each element of
this queue is a
ScheduledFuture , including those
tasks submitted using
execute which are for scheduling
purposes used as the basis of a zero-delay
ScheduledFuture . Iteration over this queue is
not guaranteed to traverse tasks in the order in
which they will execute.
the task queue |
now | final long now()(Code) | | Returns current nanosecond time.
|
onShutdown | void onShutdown()(Code) | | Cancels and clears the queue of all tasks that should not be run
due to shutdown policy. Invoked within super.shutdown.
|
reExecutePeriodic | void reExecutePeriodic(RunnableScheduledFuture> task)(Code) | | Requeues a periodic task unless current run state precludes it.
Same idea as delayedExecute except drops task rather than rejecting.
Parameters: task - the task |
setContinueExistingPeriodicTasksAfterShutdownPolicy | public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value)(Code) | | Sets the policy on whether to continue executing existing
periodic tasks even when this executor has been
shutdown .
In this case, these tasks will only terminate upon
shutdownNow or after setting the policy to
false when already shutdown.
This value is by default
false .
Parameters: value - if true , continue after shutdown, else don't. See Also: ScheduledThreadPoolExecutor.getContinueExistingPeriodicTasksAfterShutdownPolicy |
setExecuteExistingDelayedTasksAfterShutdownPolicy | public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value)(Code) | | Sets the policy on whether to execute existing delayed
tasks even when this executor has been
shutdown .
In this case, these tasks will only terminate upon
shutdownNow , or after setting the policy to
false when already shutdown.
This value is by default
true .
Parameters: value - if true , execute after shutdown, else don't. See Also: ScheduledThreadPoolExecutor.getExecuteExistingDelayedTasksAfterShutdownPolicy |
shutdown | public void shutdown()(Code) | | Initiates an orderly shutdown in which previously submitted
tasks are executed, but no new tasks will be accepted. If the
ExecuteExistingDelayedTasksAfterShutdownPolicy has
been set
false , existing delayed tasks whose delays
have not yet elapsed are cancelled. And unless the
ContinueExistingPeriodicTasksAfterShutdownPolicy has
been set
true , future executions of existing periodic
tasks will be cancelled.
throws: SecurityException - |
shutdownNow | public List<Runnable> shutdownNow()(Code) | | Attempts to stop all actively executing tasks, halts the
processing of waiting tasks, and returns a list of the tasks
that were awaiting execution.
There are no guarantees beyond best-effort attempts to stop
processing actively executing tasks. This implementation
cancels tasks via
Thread.interrupt , so any task that
fails to respond to interrupts may never terminate.
list of tasks that never commenced execution.Each element of this list is a ScheduledFuture,including those tasks submitted using execute ,which are for scheduling purposes used as the basis of azero-delay ScheduledFuture . throws: SecurityException - |
|
|