public interface AsyncTaskExecutor extends TaskExecutor
TaskExecutor
implementations,
offering an overloaded execute(Runnable, long)
variant with a start
timeout parameter as well support for Callable
.
Note: The Executors
class includes a set of
methods that can convert some other common closure-like objects, for example,
PrivilegedAction
to Callable
before executing them.
Implementing this interface also indicates that the TaskExecutor.execute(Runnable)
method will not execute its Runnable in the caller's thread but rather
asynchronously in some other thread.
SimpleAsyncTaskExecutor
,
SchedulingTaskExecutor
,
Callable
,
Executors
Modifier and Type | Field and Description |
---|---|
static long |
TIMEOUT_IMMEDIATE
Constant that indicates immediate execution
|
static long |
TIMEOUT_INDEFINITE
Constant that indicates no time limit
|
Modifier and Type | Method and Description |
---|---|
void |
execute(java.lang.Runnable task,
long startTimeout)
Execute the given
task . |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> task)
Submit a Callable task for execution, receiving a Future representing that task.
|
java.util.concurrent.Future<?> |
submit(java.lang.Runnable task)
Submit a Runnable task for execution, receiving a Future representing that task.
|
execute
static final long TIMEOUT_IMMEDIATE
static final long TIMEOUT_INDEFINITE
void execute(java.lang.Runnable task, long startTimeout)
task
.task
- the Runnable
to execute (never null
)startTimeout
- the time duration (milliseconds) within which the task is
supposed to start. This is intended as a hint to the executor, allowing for
preferred handling of immediate tasks. Typical values are TIMEOUT_IMMEDIATE
or TIMEOUT_INDEFINITE
(the default as used by TaskExecutor.execute(Runnable)
).TaskTimeoutException
- in case of the task being rejected because
of the timeout (i.e. it cannot be started in time)TaskRejectedException
- if the given task was not acceptedjava.util.concurrent.Future<?> submit(java.lang.Runnable task)
null
result upon completion.task
- the Runnable
to execute (never null
)TaskRejectedException
- if the given task was not accepted<T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
task
- the Callable
to execute (never null
)TaskRejectedException
- if the given task was not accepted