CompletableFuture
串行并行任务处理,异步执行同步等待
相关链接 🔗
使用实例
- 等待所有异步任务执行完毕再接着执行
System.out.println("开始");
CompletableFuture<Void> future = CompletableFuture.allOf(
CompletableFuture.runAsync(() -> {
System.out.println("异步执行任务1");
}),
CompletableFuture.runAsync(() -> {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("异步执行任务2");
}),
CompletableFuture.runAsync(() -> {
System.out.println("异步执行任务3");
}),
CompletableFuture.runAsync(() -> {
System.out.println("异步执行任务4");
})
);
//阻塞等待所有异步任务执行完毕
future.join();
System.out.println("所有异步任务执行完毕,接着执行下面代码");
System.out.println("结束");