目录
FutureTask类实现了RunnableFuture接口,我们看一下RunnableFuture接口的实现:
future模式:
有返回结果:
以前需要的数据必须要等待,现在不用等待,可以继续执行,等到证幺数据的时候再调用,刚开始可能知识需要返回一个对象就可以:
好比从小的交作业,先交一个空本,等到老师批改的时候再说交错了,然后换回来的模式
代码使用基本:
package com.special.thread;
import java.util.concurrent.*;
/**
* @author liuYC
* @ClassName FutureDemo
* @Description TODO
* @date 2021/7/21 22:35
* <p>
* 测试callable适用的接口的情况
*/
public class FutureDemo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<String> future = executorService.submit(new Callable<String>() {
@Override
public String call() throws Exception {
Thread.sleep(2000);
return "hello world";
}
});
System.out.println("wait result");
System.out.println("get result " + future.get());
}
}
FutureTask类实现了RunnableFuture接口,我们看一下RunnableFuture接口的实现:
作用和future类似,也可以调用run()方法启动线程,因为实现了runnable的接口的原因
其他使用参考文章链接
参考文章:
设计源于生活--B站