对异步进行编排,主要是异步操作并行执行,总时间取决于最长的执行线程。主要应用为对数据进行统计的场景等
示例代码如下(线程池相关代码)
public static void main(String[] args) throws ExecutionException, InterruptedException {
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(()->{
//执行逻辑
return 1;
},ThreadPoolUtil.getDefaultPool());
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(()->{
//执行逻辑
return "hello";
},ThreadPoolUtil.getDefaultPool());
CompletableFuture<Double> future3 = CompletableFuture.supplyAsync(()->{
//执行逻辑
return 3.3;
},ThreadPoolUtil.getDefaultPool());
CompletableFuture.allOf(future1, future2, future3).join();
//结果
System.out.println(future1.get());
System.out.println(future2.get());
System.out.println(future3.get());
}