edu.emory.mathcs.backport.java.util.concurrent
public class FutureTask extends Object implements RunnableFuture
A FutureTask can be used to wrap a Callable or java.lang.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.
Since: 1.5
Constructor Summary | |
---|---|
FutureTask(Callable callable)
Creates a FutureTask that will, upon running, execute the
given Callable.
| |
FutureTask(Runnable runnable, Object result)
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(boolean mayInterruptIfRunning) |
protected void | done()
Protected method invoked when this task transitions to state
isDone (whether normally or via cancellation). |
Object | get() |
Object | get(long timeout, TimeUnit unit) |
boolean | isCancelled() |
boolean | isDone() |
void | run()
Sets this Future to the result of its 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(Object v)
Sets the result of this Future to the given value unless
this future has already been set or has been cancelled.
|
protected void | setException(Throwable t)
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.
|
Parameters: callable the callable task
Throws: NullPointerException if callable is null
Parameters: runnable the runnable task result 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)
Throws: NullPointerException if runnable is null
Throws: CancellationException {@inheritDoc }
Throws: CancellationException {@inheritDoc }
Returns: true if successfully run and reset
Parameters: v the value
Parameters: t the cause of failure