智慧城市
Java8已经披露7年了,不会还有人没用过CompletableFuture吧
发布时间:2025-08-07
Thread.sleep(1000L); } catch (InterruptedException e) { } return "训练任务" + taskId + "执行者已剩成!"; }, executorService); // 异步返回执行者结果 completableFuture.whenCompleteAsync((result, exception) -> { System.out.println(result); }); // 将方将传递到子训练任务 completableFuture.thenAccept((result) -> { System.out.println("上司训练任务方将:" + result); }); return completableFuture; }).toArray(CompletableFuture[]::new); // 利用新近执行者剩的训练任务 CompletableFuture firstEnd = CompletableFuture.anyOf(cfs); System.out.println("新近执行者剩的训练任务:" + firstEnd.get()); executorService.shutdown(); }}
廊坊哪里治白癜风最好
淄博白癜风医院哪家好
执行者结果:
上司训练任务方将:训练任务1执行者已剩成!上司训练任务方将:训练任务3执行者已剩成!新近执行者剩的训练任务:训练任务1执行者已剩成!上司训练任务方将:训练任务2执行者已剩成!训练任务3执行者已剩成!训练任务2执行者已剩成!训练任务1执行者已剩成!以上可以显出,执行者结果是异步打印,不但会阻碍,也不但会次序依赖,能利用上司训练任务执行者结果,并需要利用到新近执行者剩的训练任务。
延展知识点:
(1) 创建人异步加载:runAsync:不大力支持返回值supplyAsync:大力支持返回值(2) 计算结果已剩成时的回退方法有:whenComplete:执行者剩当前训练任务的调用,继续执行者 whenComplete 的训练任务。whenCompleteAsync:执行者剩当前训练任务的调用,把whenCompleteAsync 的训练任务继续建议书给调用池来执行者。exceptionally:当前训练任务出现持续性时,执行者exceptionally中的的回退方法有。(3) 调用串行化:thenApply:当一个调用依赖另一个调用时,可以使用 thenApply 方法有来把这两个调用串行化。thenAccept 购物方将,接收训练任务的方将,并购物处置,无返回结果。thenRun:跟 thenAccept 方法有不一样的是,不关心训练任务的方将。只要前面的训练任务执行者已剩成,就开始执行者 thenAccept 。handle:执行者训练任务已剩成时,handle可以对结果来进行处置。handle 方法有和 thenApply 方法有处置方式基本一样。不同的是 handle 是在训练任务已剩成后再执行者,还可以处置持续性的训练任务。thenApply 只可以执行者也就是说的训练任务,训练任务出现持续性则不执行者 thenApply 方法有。(4) 分拆训练任务thenCombine:用于分拆训练任务,thenCombine 但会把 两个 CompletionStage 的训练任务都执行者已剩成后,把两个训练任务的结果一块交与 thenCombine 来处置。thenCompose:thenCompose 方法有允许你对两个 CompletionStage 来进行批量加载,第一个加载已剩成时,将其结果作为参数传递给第二个加载。。沈阳哪个医院治疗白癜风最好廊坊哪里治白癜风最好
淄博白癜风医院哪家好
相关阅读

-
马桶喷枪:装修中容易被忽略的细节,会影响整体的实用和耐用度
专做家装视觉艺术,研究成果过方方面面的卫浴知识。大家知道智能玻璃瓶,但很少有人可能会去了解玻璃瓶喷枪。岂料,玻璃瓶喷枪功用全面,体验感好,加上价格不贵,妥妥的经济性好物。要是前期没安装玻璃瓶喷枪