1 /*
2  * Written by Doug Lea with assistance from members of JCP JSR-166
3  * Expert Group and released to the public domain, as explained at
4  * http://creativecommons.org/publicdomain/zero/1.0/
5  */
6 
7 package java.util.concurrent;
8 
9 /**
10  * A {@link Future} that is {@link Runnable}. Successful execution of
11  * the {@code run} method causes completion of the {@code Future}
12  * and allows access to its results.
13  * @see FutureTask
14  * @see Executor
15  * @since 1.6
16  * @author Doug Lea
17  * @param <V> The result type returned by this Future's {@code get} method
18  */
19 public interface RunnableFuture<V> extends Runnable, Future<V> {
20     /**
21      * Sets this Future to the result of its computation
22      * unless it has been cancelled.
23      */
run()24     void run();
25 }
26