|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object![]()
![]()
![]()
java.util.concurrent.FutureTask<V>
V - The result type returned by this FutureTask's get method
, Future
<V>public class FutureTask<V>

<V>, Runnable

A cancellable asynchronous computation. This class provides a base
implementation of Future
, with methods to start and cancel
a computation, query to see if the computation is complete, and
retrieve the result of the computation. The result can only be
retrieved when the computation has completed; the get
method will block if the computation has not yet completed. Once
the computation has completed, the computation cannot be restarted
or cancelled.
A FutureTask can be used to wrap a Callable
or
Runnable
object. Because FutureTask
implements Runnable, a FutureTask can be
submitted to an Executor
for execution.
In addition to serving as a standalone class, this class provides protected functionality that may be useful when creating customized task classes.
| Constructor Summary | |
|---|---|
FutureTask
Creates a FutureTask that will upon running, execute the given Callable. |
|
FutureTask
Creates a FutureTask that will upon running, execute the given Runnable, and arrange that get will return the given result on successful completion. |
|
| Method Summary | |
|---|---|
boolean |
cancel
Attempts to cancel execution of this task. |
protected void |
done
Protected method invoked when this task transitions to state isDone (whether normally or via cancellation). |
V |
get
Waits if necessary for the computation to complete, and then retrieves its result. |
V |
get
Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available. |
boolean |
isCancelled
Returns true if this task was cancelled before it completed normally. |
boolean |
isDone
Returns true if this task completed. |
void |
run
Sets this Future to the result of computation unless it has been cancelled. |
protected boolean |
runAndReset
Executes the computation without setting its result, and then resets this Future to initial state, failing to do so if the computation encounters an exception or is cancelled. |
protected void |
set
Sets the result of this Future to the given value unless this future has already been set or has been cancelled. |
protected void |
setException
Causes this future to report an ExecutionException with the given throwable as its cause, unless this Future has already been set or has been cancelled. |
Methods inherited from class java.lang.Object ![]() |
|---|
clone |
| Constructor Detail |
|---|

public FutureTask(Callable![]()
![]()
<V> callable)
callable - the callable task
NullPointerException

- if callable is null

public FutureTask(Runnable![]()
![]()
runnable, V result)
runnable - the runnable taskresult - the result to return on successful completion. If
you don't need a particular result, consider using
constructions of the form:
Future<?> f = new FutureTask<Object>(runnable, null)
NullPointerException

- if runnable is null| Method Detail |
|---|

public boolean isCancelled()
Future

isCancelled

in interface Future
<V>

public boolean isDone()
Future

isDone

in interface Future
<V>

public boolean cancel(boolean mayInterruptIfRunning)
Future

cancel

in interface Future
<V>mayInterruptIfRunning - true if the thread executing this
task should be interrupted; otherwise, in-progress tasks are allowed
to complete

public V get()
throws InterruptedException
,
ExecutionException

Future

get

in interface Future
<V>InterruptedException

- if the current thread was interrupted
while waiting
ExecutionException

- if the computation threw an
exception

public V get(long timeout,
TimeUnit
unit)
throws InterruptedException
,
ExecutionException
,
TimeoutException

Future

get

in interface Future
<V>timeout - the maximum time to waitunit - the time unit of the timeout argument
InterruptedException

- if the current thread was interrupted
while waiting
ExecutionException

- if the computation threw an
exception
TimeoutException

- if the wait timed out

protected void done()

protected void set(V v)
v - the value

protected void setException(Throwable![]()
![]()
t)
t - the cause of failure.

public void run()
run

in interface Runnable

Thread.run()


protected boolean runAndReset()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||