ExecutorService methods
other than Executor#execute. This class implements the submit, invokeAny and invokeAll methods using a
RunnableFuture returned by newTaskFor, which
defaults to the FutureTask class provided in this package.
For example, the implementation of submit(Runnable) creates
an associated RunnableFuture that is executed and
returned. Subclasses may override the newTaskFor methods to
return RunnableFuture implementations other than FutureTask.
Extension example. Here is a sketch of a class
that customizes ThreadPoolExecutor to use
a CustomTask class instead of the default FutureTask:
public class CustomThreadPoolExecutor extends ThreadPoolExecutor {
static class CustomTask<V> implements RunnableFuture<V> { ... }
protected <V> RunnableFuture<V> newTaskFor(Callable<V> c) {
return new CustomTask<V>(c);
}
protected <V> RunnableFuture<V> newTaskFor(Runnable r, V v) {
return new CustomTask<V>(r, v);
}
// ... add constructors, etc.
}
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static <T> void | |
| private static <T> void | |
| private <T> T | doInvokeAny(Collection<? extends Callable<T>> tasks, boolean timed, long nanos)
the main mechanics of invokeAny. |
| public <T> List | invokeAll(Collection<? extends Callable<T>> tasks)
Implements java. Executes the given tasks, returning a list of Futures holding their status and results when all complete. |
| public <T> List | invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
Implements java. Executes the given tasks, returning a list of Futures holding their status and results when all complete or the timeout expires, whichever happens first. |
| public <T> T | invokeAny(Collection<? extends Callable<T>> tasks)
Implements java. Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do. |
| public <T> T | invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
Implements java. Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do before the given timeout elapses. |
| protected < the type of the given value T> RunnableFuture | Returns: aRunnableFuture which, when run, will run the
underlying runnable and which, as a Future, will yield
the given value as its result and provide for cancellation of
the underlying taskthe runnable task being wrapped runnable, T the default value for the returned future value)Returns a |
| protected < the type of the callable's result T> RunnableFuture | Returns: aRunnableFuture which, when run, will call the
underlying callable and which, as a Future, will yield
the callable's result as its result and provide for
cancellation of the underlying taskthe callable task being wrapped callable)Returns a |
| public Future | submit(Runnable task)
Implements java. Submits a Runnable task for execution and returns a Future representing that task. |
| public <T> Future | submit(Runnable task, T result)
Implements java. Submits a Runnable task for execution and returns a Future representing that task. |
| public <T> Future | submit(Callable<T> task)
Implements java. Submits a value-returning task for execution and returns a Future representing the pending results of the task. |
| AbstractExecutorService | back to summary |
|---|---|
| public AbstractExecutorService() Constructor for subclasses to call. | |
| cancelAll | back to summary |
|---|---|
| private static <T> void cancelAll(ArrayList<Future<T>> futures) | |
| cancelAll | back to summary |
|---|---|
| private static <T> void cancelAll(ArrayList<Future<T>> futures, int j) Cancels all futures with index at least j. | |
| doInvokeAny | back to summary |
|---|---|
| private <T> T doInvokeAny(Collection<? extends Callable<T>> tasks, boolean timed, long nanos) throws InterruptedException, ExecutionException, TimeoutException the main mechanics of invokeAny. | |
| invokeAll | back to summary |
|---|---|
| public <T> List Implements java. Doc from java. Executes the given tasks, returning a list of Futures holding
their status and results when all complete.
| |
| invokeAll | back to summary |
|---|---|
| public <T> List Implements java. Doc from java. Executes the given tasks, returning a list of Futures holding
their status and results
when all complete or the timeout expires, whichever happens first.
| |
| invokeAny | back to summary |
|---|---|
| public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException Implements java. Doc from java. Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do. Upon normal or exceptional return, tasks that have not completed are cancelled. The results of this method are undefined if the given collection is modified while this operation is in progress.
| |
| invokeAny | back to summary |
|---|---|
| public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException Implements java. Doc from java. Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do before the given timeout elapses. Upon normal or exceptional return, tasks that have not completed are cancelled. The results of this method are undefined if the given collection is modified while this operation is in progress.
| |
| newTaskFor | back to summary |
|---|---|
| protected <T> RunnableFuture Returns a
| |
| newTaskFor | back to summary |
|---|---|
| protected <T> RunnableFuture Returns a
| |
| submit | back to summary |
|---|---|
| public Future Implements java. Doc from java. Submits a Runnable task for execution and returns a Future
representing that task. The Future's
| |
| submit | back to summary |
|---|---|
| public <T> Future Implements java. Doc from java. Submits a Runnable task for execution and returns a Future
representing that task. The Future's
| |
| submit | back to summary |
|---|---|
| public <T> Future Implements java. Doc from java. Submits a value-returning task for execution and returns a
Future representing the pending results of the task. The
Future's
If you would like to immediately block waiting
for a task, you can use constructions of the form
Note The
| |