|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.concurrent.FutureTask<V>
V - The result type returned by this FutureTask's get method
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(Callable<V> callable)
Creates a FutureTask that will upon running, execute the given Callable. |
|
FutureTask(Runnable runnable,
V 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)
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(long timeout,
TimeUnit unit)
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(V 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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FutureTask(Callable<V> callable)
callable - the callable task
NullPointerException - if callable is nullpublic 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
public boolean cancel(boolean mayInterruptIfRunning)
Future
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
InterruptedException - if the current thread was interrupted
while waiting
ExecutionException - if the computation threw an
exceptionpublic V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
Future
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 outprotected void done()
protected void set(V v)
v - the valueprotected void setException(Throwable t)
t - the cause of failure.public void run()
Thread.run()protected boolean runAndReset()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.