Name
Future<V>
Synopsis
This interface represents the result of a
computation that may not be available until some time in the future.
Future
is a generic type, with a type variable
V
. V
represents
the type of the future value to be returned by the get(
)
method. A Future<V>
value is
typically obtained by submitting a
Callable<V>
to an
ExecutorService
for asynchronous execution.
The key method of the Future
interface is
get( )
. It returns the result (of type
V
) of the computation, blocking, if
necessary, until that result is ready. get( )
throws a CancellationException
if the computation
is canceled with the cancel( )
method before it
completes. If the computation throws an exception of its own (as the
Callable.call( )
method can), get(
)
throws an ExecutionException
wrapped
around that exception. Additionally, the timed version of the
get( )
method throws a
TimeoutException
if the timeout elapses before the
computation completes.
As noted above, the computation represented by a
Future
object can be canceled by calling its
cancel( )
method. This method returns
true
if the computation was canceled successfully,
and false
otherwise. If you pass
false
to cancel( )
, any
computation that has started running is allowed to complete. In this
case, only computations that have not yet started can be canceled. If
you pass true
to the cancel( )
method, running computations are interrupted with
Thread.interrupt( )
. Note, however, that interrupting a thread does not guarantee that it will stop running. ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.