首页 >> 中医养生

Java8已经披露7年了,不会还有人没用过CompletableFuture吧

发布时间:2025年08月08日 12:19

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 来进行批量加载,第一个加载已剩成时,将其结果作为参数传递给第二个加载。。

沈阳哪个医院治疗白癜风最好
廊坊哪里治白癜风最好
淄博白癜风医院哪家好

上一篇: 中国公司全球化周报|吉利与Waymo达成合作;印尼电商巨头Bukalapak CEO将请辞

下一篇: 手机自带的 ToF 传感器可扫描针孔摄像头

友情链接