Known Direct Subclasses
|
Known Indirect Subclasses
|
Class Overview
Provides default implementation of ExecutorService
execution methods. This class implements the submit,
invokeAny and invokeAll methods using the default
FutureTask class provided in this package. For example,
the implementation of submit(Runnable) creates an
associated FutureTask that is executed and
returned. Subclasses overriding these methods to use different
Future implementations should do so consistently for each
of these methods.
Summary
Public Methods |
<T>
List<Future<T>>
|
invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
Executes the given tasks, returning their results
when all complete or the timeout expires, whichever happens first.
|
<T>
List<Future<T>>
|
invokeAll(Collection<Callable<T>> tasks)
Executes the given tasks, returning their results
when all complete.
|
<T>
T
|
invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
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.
|
<T>
T
|
invokeAny(Collection<Callable<T>> tasks)
Executes the given tasks, returning the result
of one that has completed successfully (i.e., without throwing
an exception), if any do.
|
Future<?>
|
submit(Runnable task)
Submits a Runnable task for execution and returns a Future
representing that task.
|
<T>
Future<T>
|
submit(Callable<T> task)
Submits a value-returning task for execution and returns a Future
representing the pending results of the task.
|
<T>
Future<T>
|
submit(Runnable task, T result)
Submits a Runnable task for execution and returns a Future
representing that task that will upon completion return
the given result
|
[Expand]
Inherited Methods |
From class java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals(Object o)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Is called before the object's memory is being reclaimed by the VM.
|
final
Class<? extends Object>
|
getClass()
Returns the unique instance of Class which represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
|
From interface java.util.concurrent.Executor
abstract
void
|
execute(Runnable command)
Executes the given command at some time in the future.
|
|
From interface java.util.concurrent.ExecutorService
abstract
boolean
|
awaitTermination(long timeout, TimeUnit unit)
Blocks until all tasks have completed execution after a shutdown
request, or the timeout occurs, or the current thread is
interrupted, whichever happens first.
|
abstract
<T>
List<Future<T>>
|
invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
Executes the given tasks, returning their results
when all complete or the timeout expires, whichever happens first.
|
abstract
<T>
List<Future<T>>
|
invokeAll(Collection<Callable<T>> tasks)
Executes the given tasks, returning their results
when all complete.
|
abstract
<T>
T
|
invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
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.
|
abstract
<T>
T
|
invokeAny(Collection<Callable<T>> tasks)
Executes the given tasks, returning the result
of one that has completed successfully (i.e., without throwing
an exception), if any do.
|
abstract
boolean
|
isShutdown()
Returns true if this executor has been shut down.
|
abstract
boolean
|
isTerminated()
Returns true if all tasks have completed following shut down.
|
abstract
void
|
shutdown()
Initiates an orderly shutdown in which previously submitted
tasks are executed, but no new tasks will be
accepted.
|
abstract
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.
|
abstract
Future<?>
|
submit(Runnable task)
Submits a Runnable task for execution and returns a Future
representing that task.
|
abstract
<T>
Future<T>
|
submit(Runnable task, T result)
Submits a Runnable task for execution and returns a Future
representing that task that will upon completion return
the given result
|
abstract
<T>
Future<T>
|
submit(Callable<T> task)
Submits a value-returning task for execution and returns a Future
representing the pending results of the task.
|
|
Public Constructors
public
AbstractExecutorService
()
Public Methods
Executes the given tasks, returning their results
when all complete or the timeout expires, whichever happens first.
Upon return, tasks that have not completed are cancelled.
Note that a completed task could have
terminated either normally or by throwing an exception.
The results of this method are undefined if the given
collection is modified while this operation is in progress.
Parameters
tasks
| the collection of tasks |
timeout
| the maximum time to wait |
unit
| the time unit of the timeout argument |
Returns
- A list of Futures representing the tasks, in the same
sequential order as produced by the iterator for the given
task list. If the operation did not time out, each task will
have completed. If it did time out, some of thiese tasks will
not have completed.
Executes the given tasks, returning their results
when all complete.
Note that a completed task could have
terminated either normally or by throwing an exception.
The results of this method are undefined if the given
collection is modified while this operation is in progress.
Parameters
tasks
| the collection of tasks |
Returns
- A list of Futures representing the tasks, in the same
sequential order as produced by the iterator for the given task
list, each of which has completed.
public
T
invokeAny
(Collection<Callable<T>> tasks, long timeout, TimeUnit unit)
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.
Parameters
tasks
| the collection of tasks |
timeout
| the maximum time to wait |
unit
| the time unit of the timeout argument |
Returns
- The result returned by one of the tasks.
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.
Parameters
tasks
| the collection of tasks |
Returns
- The result returned by one of the tasks.
Submits a Runnable task for execution and returns a Future
representing that task.
Returns
- a Future representing pending completion of the task,
and whose get() method will return null
upon completion.
Submits a value-returning task for execution and returns a Future
representing the pending results of the task.
If you would like to immediately block waiting
for a task, you can use constructions of the form
result = exec.submit(aCallable).get();
Note: The Executors class includes a set of methods
that can convert some other common closure-like objects,
for example, PrivilegedAction to
Callable form so they can be submitted.
Returns
- a Future representing pending completion of the task
public
Future<T>
submit
(Runnable task, T result)
Submits a Runnable task for execution and returns a Future
representing that task that will upon completion return
the given result
Parameters
task
| the task to submit |
result
| the result to return |
Returns
- a Future representing pending completion of the task,
and whose get() method will return the given result
upon completion.