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(); } }