Name
ExecutorService
Synopsis
This interface extends
Executor to add methods to obtain a
Future result of the asynchronous execution of a
Callable task. It also adds methods for graceful
termination or shutdown of an ExecutorService.
ThreadPoolExecutor is a useful and highly
configurable implementation of this interface. An easy way to obtain
instances of this class is through the factory methods of the
Executors utility class. Note that
ExecutorService is not a generic type; it does not
declare any type variables. It does have a number of generic methods,
however, that use the type variable T to
represent the result type of Callable and
Future objects.
The submit( ) method allows you to submit a
Callable<T> object to an
ExecutorService for execution. Typical
ExecutorService implementations invoke the
call( ) method of the Callable
on another thread, and the return value (of type
T) of the method is therefore not
available when the call to submit( ) returns.
submit( ) therefore returns a
Future<T> object: the promise of a return
value of type T at some point in the
future. See the Future interface for further
details.
Two variants on the submit( ) method accept a
java.lang.Runnable task instead of a
Callable task. The run( )
method of a Runnable has no return value, so the
two-argument version of submit( ) accepts a dummy
return value of type T and returns a
Future<T> that makes this dummy value
available when the Runnable has completed running.
The other Runnable variant of the submit( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access