1. CompletableFuture介绍
-
问题描述:假设现在是一个代驾系统,而司机结束代驾服务页面非常复杂,数据的获取都需要远程调用,必然需要花费更多的时间。
假如司机结束代驾服务的每个查询,需要如下标注的时间才能完成
获取订单信息 1s
计算防止刷单 0.5s
计算订单实际里程 0.5s
计算订单实际代驾费用 1s
......
-
那么,司机需要4s后才能结束代驾服务。很显然是不能接受的。如果有多个线程同时完成这多步操作,也许只需要1.1s即可完成响应。
-
使用
CompletableFuture可用于线程异步编排,使原本串行执行的代码,变为并行执行,提高代码执行速度。
2. CompletableFuture使用
说明:使用CompletableFuture异步编排大多方法都会有一个重载方法,会多出一个executor参数,用来传来自定义的线程池,如果不传就会使用默认的线程池。
2.1 创建异步编排对象
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier);
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor

最低0.47元/天 解锁文章
618

被折叠的 条评论
为什么被折叠?



