CompletableFuture 概述
CompletableFuture提供了一种观察者模式类似的机制,可以让任务执行完成后通知监听的一方。
优点
1.异步任务结束时,会自动调用某个对象的方法
2.主线程设置好回调后,不再关心异步任务的执行,异步任务之间可以顺序执行
3.异步任务出错时,会自动回调某个对象的方法
使用demo
public class CompletableFutureBuildDemo {
public static void main(String[] args)throws ExecutionException,InterruptedException {
ExecutorService executorService = Executors.newFixedThreadPool(3);
CompletableFuture<Void> completableFuture =CompletableFuture.runAsync(()->{
System.out.println(Thread.currentThread().getName());
try {
TimeUnit.SECONDS.sleep(1);
}catch (InterruptedException e){
e.printStackTrace();
}
});
System.out.println(completableFuture.get());
executorService.shutdown();
}
}