承接上文:https://blog.youkuaiyun.com/sql2008help/article/details/127348660
假设顾客进入餐馆的时间比较早,直到顾客点完餐后才开始煮饭,场景步骤如下(/ 表示同时进行):
1.顾客进入餐厅
2.顾客开始点餐
3.厨师按照顾客所选菜品开始炒菜 / 4.服务员煮饭 / 5.顾客玩手机
6.顾客等饭菜做好后开始吃饭
用程序模拟如下:
使用两个异步任务 chefCF ,waiterCF 分别处理炒菜和煮饭这两个动作,使用 chefCF.get(), waiterCF.get() 等待任务执行完成
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class SupplyAsyncTest04 {
public static void main(String[] args) {
PrintTool.printTimeAndThread("顾客进入餐厅。。。");
PrintTool.printTimeAndThread("顾客开始点餐。。。");
CompletableFuture<String> chefCF = CompletableFuture.supplyAsync(() -> {
PrintTool.printTimeAndThread("厨师开始炒菜。。。");
PrintTool.sleep(500);
return "番茄炒蛋";
});
CompletableFuture<String> waiterCF = CompletableFuture.su

本文介绍如何使用Java CompletableFuture的thenCombine方法实现两个异步任务的组合执行,并通过模拟餐馆场景展示了厨师炒菜和服务员煮饭的同时进行及最终组合结果。
最低0.47元/天 解锁文章
1196

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



