CompletableFuture讲解
CompletableFuture是java8中添加的一个类,这个类主要的作用就是提供了新的方式来完成异步处理,包括合成和组合事件的非阻塞方式。
CompletableFuture类实现了CompletionStage和Future接口。Future是Java 5添加的类,用来描述一个异步计算的结果,但是获取一个结果时方法较少,要么通过轮询isDone,确认完成后,调用get()获取值,要么调用get()设置一个超时时间。但是这个get()方法会阻塞住调用线程,这种阻塞的方式显然和我们的异步编程的初衷相违背。
为了解决这个问题,JDK吸收了guava的设计思想,加入了Future的诸多扩展功能形成了CompletableFuture。
CompletableFuture提供更多的特性:
将两个异步计算的结果组合成一个结果,并且这两个异步计算时相互独立的在不同到线程中,并且第二个计算依赖第一个计算。
等待所有异步任务的完成。
等待所有异步任务中任意一个完成并且获得计算结果。
4.编程式的完成异步任务。(手动提供一个结果)
5.异步任务完成响应事件。
github demo示例:
https://github.com/tuonioooo/java8-examples-master
参考:
https://www.jianshu.com/p/6f3ee90ab7d3
目录
Last updated