如果我们有以下需求:
- 从数据库的User表获取所有用户的id
- 根据用户的id查询所有用户相关联的信息
- 获取信息后,处理信息
- 等待所有用户的信息处理完成后,完成下一步动作
- 在处理过程中主线程无需等待整个信息的处理完成
通过Future来处理:
1 | scss复制代码public class CompletableFutureTest { |
打印结果:
1 | css复制代码main 主线程开始执行别的业务逻辑 |
通过 CompletableFuture 来处理:
1 | scss复制代码public static void main(String[] args) throws Exception { |
CompletableFuture执行回调示例图
本文转载自: 掘金