FutureTask相当于Future和Runable的结合,既可以作为一个任务task,并且执行结果还存在FutureTask里
public static void main(String[] args) throws ExecutionException, InterruptedException {
//FutureTask相当于Future和Runable的结合,既可以作为一个任务task,并且执行结果还存在FutureTask里
FutureTask<String> futureTask = new FutureTask<>(()->{
TimeUnit.SECONDS.sleep(1);
return "Hello FutureTask!";
});
ExecutorService service = Executors.newCachedThreadPool();
//service.execute(futureTask);
service.submit(futureTask);
System.out.println(futureTask.get());
service.shutdown();
}
CompletableFuture提供了多个任务执行完才结束,或任何一个任务执行完就结束的方法,如:allOf(),angOf()