1、CompletableFuture之Future為什么出現(xiàn)
CompletableFuture之Future為什么出現(xiàn)
2、Future接口能干什么
Future接口能干什么
3、引出FutureTask
FutureTask
FutureTask支持構(gòu)造注入,支持多線程/Callable有返回/Future異步任務(wù)特性。
public FutureTask(Callable<V> callable) {
if (callable == null)
throw new NullPointerException();
this.callable = callable;
this.state = NEW; // ensure visibility of callable
}
4、FutureTask案例
代碼:
public class Main {
public static void main(String[] arg) throws ExecutionException, InterruptedException {
FutureTask<String> futureTask = new FutureTask<>(new myThread());
Thread t1 = new Thread(futureTask, "t1");
t1.start();
System.out.println(futureTask.get());
}
}
//Callable有返回
class myThread implements Callable<String> {
@Override
public String call() throws Exception {
System.out.println("-----come in call()");
return "hello Callable";
}
}
執(zhí)行結(jié)果:
-----come in call()
hello Callable
Process finished with exit code 0