项目需求:
项目中需要优化一个接口,这个接口需要拉取23个第三方接口,需求延迟时间小于200ms;
技术选型:
CompletableFuture是JDK8提出的一个支持非阻塞的多功能的Future,同样也是实现了Future接口,Future是Java 5添加的类,用来描述一个异步计算的结果。java8对future进一步完善,扩展了诸多功能形成了CompletableFuture。
CompletableFuture功能介绍
代码
final List<CompletableFuture<Void>> futures = Lists.newArrayList();
//获取审核状态
futures.add(CompletableFuture.runAsync(() -> task1(), executorService));
//用户头像
futures.add(CompletableFuture.runAsync(() -> task2(), executorService));
CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{})).join();