/**
* 两个都完成
*/
CompletableFuture<Integer> future01 = CompletableFuture.supplyAsync(() -> {
System.out.println("任务1线程:" + Thread.currentThread().getId());
int i = 10 / 2;
System.out.println("任务1结束:");
return i;
}, executor);
CompletableFuture<String> future02 = CompletableFuture.supplyAsync(() -> {
System.out.println("任务2线程:" + Thread.currentThread().getId());
System.out.println("任务2结束:");
return "Hello";
}, executor);
future01.runAfterBothAsync(future02,()->{
System.out.println("任务3开始");
}, executor);
future01.thenAcceptBothAsync(future02,(f1, f2)->{
System.out.println("任务3开始。。。之前的结果:" + f1 + "==>" + f2);
}, executor);
System.out.println("main....end....." );