版本
JDK8(JDK1.8)
RunnableFuture接口源码重点
1.RunnableFuture接口继承自Runnable接口和Future接口,重写Runnable的run()方法,在run方法运行中为Future设置运行结果,在run()方法运行后,可以通过get()方法获取结果
Runnable源码可以看我这篇文章 Runnable
Future源码可以看我这篇文章 Future
2.RunnableFuture接口由于继承Future自然就可以取消任务,以及拥有判断任务是否完成和取消的方法
3.RunnableFuture由于继承Runable接口可以和Thread结合使用,也可以和Executor.execute(Runnable)结合使用
Executor源码可以看我这篇文章 Executor
RunnableFuture接口源码
package java.util.concurrent;
/**
* A {@link Future} that is {@link Runnable}. Successful execution of
* the {@code run} method causes completion of the {@code Future}
* and allows access to its results.
* 是Runnable的Future。
* run方法的成功执行导致Future的完成,并允许访问其结果。
*
* @see FutureTask
* @see Executor
* @since 1.6
* @author Doug Lea
* @param <V> The result type returned by this Future's {@code get} method
* 此Future的get方法返回的结果类型
*/
public interface RunnableFuture<V> extends Runnable, Future<V> {
/**
* Sets this Future to the result of its computation
* unless it has been cancelled.
* 将此Future设置为其计算结果,除非已取消。
*/
void run();
}