public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs);public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs);

allOf:等待所有任务完成

anyOf:只要有一个任务完成

public static void main(String[] args) {List<CompletableFuture> futures = Arrays.asList(CompletableFuture.completedFuture("hello"),CompletableFuture.completedFuture(" world!"),CompletableFuture.completedFuture(" hello"),CompletableFuture.completedFuture("java!"));final CompletableFuture<Void> allCompleted = CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{}));allCompleted.thenRun(() -> {futures.stream().forEach(future -> {try {System.out.println("get future at:"+System.currentTimeMillis()+", result:"+future.get());} catch (InterruptedException | ExecutionException e) {e.printStackTrace();}});});
}

测试结果:

get future at:1568892339473, result:hello
get future at:1568892339473, result: world!
get future at:1568892339473, result: hello
get future at:1568892339473, result:java!

几乎同时完成任务!

CompletableFuture多任务组合相关推荐

  1. CompletableFuture异步编排(2)

    1.handle public <U> CompletableFuture<U> handle( BiFunction<? super T, Throwable, ? e ...

  2. c++ 异步下获取线程执行结果_异步编排(CompletableFuture异步调用)

    1.问题背景 问题:当查询接口较复杂时候,数据的获取都需要远程调用,必然需要花费更多的时间. 假如查询文章详情页面,需要如下标注的时间才能完成: 那么,用户需要4s后才能统计的数据.很显然是不能接受的 ...

  3. java并发编程之CompletableFuture

    背景 在一些业务场景下,可能需要对一些任务进行异步化,以提高系统的吞吐量,在微服务的服务调用场景下显得尤为突出. 比如某个接口有五个任务: 任务A:执行时间2秒. 任务B:执行时间2秒. 任务C:执行 ...

  4. 九、CompletableFuture异步编排

    一.认识Future任务机制和FutureTask 1.Future概述 1.在JDK1.5之后提供了一个多线程的新的处理接口Callable,该接口需要与Future接口整合在一起,而后再进行最终的 ...

  5. 【Java8新特性--->异步处理】CompletableFuture

    一.引入 假设一个商品详情页需要以下操作: 查询展示商品的基本信息耗时:0.5s 查询展示商品的销售信息耗时:0.7s 查询展示商品的图片信息耗时:1s 查询展示商品销售属性耗时:0.3s 查询展示商 ...

  6. 【并发编程】异步编程CompletableFuture实战

    文章目录 1.CompletableFuture简介 2.CompletableFuture核心API实战 3.CompletableFuture嵌套案例实战 4.合并两个CompletableFut ...

  7. 多线程之CompletableFuture全方面解析

    多线程之CompletableFuture全方面解析 目录: 前言: ​ 在我们写的一个底层Api中,由于上亿级数据量情况下,查询效率较慢,本篇文档记录一下优化过程所用技术栈CompletableFu ...

  8. 多线程与并发 - Java 8 CompletableFuture 异步多线程

    1.一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度. JDK5新增了Future接口,用于描述一个异步计算的结果. 虽然 Future 以及相关使用方法提供了异 ...

  9. 谷粒商城十五商品详情CompletableFuture异步编排

    多线程异步任务的问题 例如a,b,c三个异步任务,不是随机运行就可以,它们还有一定的关系,c需要等待a的返回结果,b不需要等待谁的结果. 当异步任务产生一些关系和顺序之后,我们要编排好它们的关系进行调 ...

最新文章

  1. 技术债务就像俄罗斯方块,你永远都赢不了!
  2. 三种方式实现分布式锁
  3. 将自己写的windows服务加入到windows集群中
  4. 高糊马赛克秒变高清,表情帝:这还是我吗?
  5. C语言深度剖析书籍学习记录 第二章 符号
  6. python创建二维空列表_python定义二维空数组
  7. mysql的comment_mysql的comment怎么用
  8. 常用数据挖掘算法举例(下)
  9. 指针写字符比较c语言,利用指针进行字符串大小比较出现的问题
  10. Resin配置https
  11. 依赖计算机英语作文,2011年高考英语卷写作表达题目范文汇总(39):过度依赖电脑的弊端...
  12. ll和 amp amp c语言,ll 和 java
  13. Android批量打包-如何一秒内打完几百个apk渠道包
  14. 听了让人心静的纯音乐
  15. c# 实现金山词霸一样的屏幕取词
  16. xp打开html页面不正常,XP系统网页提示“已完毕 但网页上有错误”怎么办?
  17. 三维体素图绘制实验与教程
  18. 【TV Picture Quality - 03】TV屏幕解读
  19. 情迁QQ机器人 Lua机器人插件开发教程
  20. 高通 Camx 架构了解下(二)

热门文章

  1. zen cart 操作-修改
  2. Debian 忘记root密码的处理(passwd:command not found)
  3. cxTreeList交换当前两个节点的的位置
  4. vscode Python 运行环境配置
  5. 26.多线程join detach
  6. 配置nginx到后端服务器负载均衡
  7. 3D数学读书笔记——3D中的方位与角位移
  8. PP团队圣经巨著《Application Architecture Guide2.0》24章-Web程式开发向导
  9. .NET体系中的源程序安全问题
  10. 【Spring学习】RestTemplate访问Rest服务总结