消费前一阶段的结果

如果下一阶段接收了当前阶段的结果,但是在计算的时候不需要返回值(它的返回类型是void), 那么它可以不应用一个函数,而是一个消费者, 调用方法也变成了thenAccept:

static void thenAcceptExample() {StringBuilder result = new StringBuilder();CompletableFuture.completedFuture("thenAccept message").thenAccept(s -> result.append(s));assertTrue("Result was empty", result.length() > 0);
}

本例中消费者同步地执行,所以我们不需要在CompletableFuture调用join方法。

CompletableFuture详解~thenAccept相关推荐

  1. CompletableFuture 详解

    转 http://www.jianshu.com/p/6f3ee90ab7d3 CompletableFuture类实现了CompletionStage和Future接口.Future是Java 5添 ...

  2. Java 8 的异步编程利器 CompletableFuture 详解

    文章目录 一个例子回顾 Future 一个例子走进CompletableFuture CompletableFuture使用场景 创建异步任务 supplyAsync方法 runAsync方法 任务异 ...

  3. 【异步编程学习笔记】JDK中的FutureTask和CompletableFuture详解(使用示例、源码)

    文章目录 FutureTask概述 使用实例 类图结构 FutureTask的run()方法 FutureTask的局限性 CompletableFuture概述 CompletableFuture代 ...

  4. CompletableFuture详解~CompletionStage

    CompletableFuture 分别实现两个接口 Future与 CompletionStage. Future 接口大家都比较熟悉,这里主要讲讲 CompletionStage. Complet ...

  5. CompletableFuture详解~join与get的区别

    一.相同点: join()和get()方法都是用来获取CompletableFuture异步之后的返回值 二.区别: 1.join()方法抛出的是uncheck异常(即RuntimeException ...

  6. CompletableFuture详解~异常处理

    计算结果完成时的回调方法 当 CompletableFuture 的计算结果完成,或者抛出异常的时候,可以执行特定的 Action.主要是下面的方法: public CompletableFuture ...

  7. CompletableFuture详解~supplyAsync

    supplyAsync 可以支持返回值. //有返回值 public static void supplyAsync() throws Exception {CompletableFuture< ...

  8. CompletableFuture详解~allOf

    当所有的阶段都完成后创建一个阶段 上一个例子是当任意一个阶段完成后接着处理,接下来的两个例子演示当所有的阶段完成后才继续处理, 同步地方式和异步地方式两种. static void allOfExam ...

  9. CompletableFuture详解~anyOf

    当几个阶段中的一个完成,创建一个完成的阶段 下面的例子演示了当任意一个CompletableFuture完成后, 创建一个完成的CompletableFuture. 待处理的阶段首先创建, 每个阶段都 ...

最新文章

  1. 图挖掘与多关系学习:工具与应用,亚马逊与CMU-WWW2021教程(附ppt)
  2. 树莓派3风扇安装方法
  3. 有限元中单元节点和积分点的区别
  4. 它是光荣的象征, 得到它一定没有Bug!
  5. mysql5.7.11源码安装_MySQL5.7.10最新版本源代码安装详细过程_MySQL
  6. 电话号码的字母组合Python解法
  7. 第一章数据库系统基础
  8. 3-7 基于SpringBoot的Apache Shiro环境快速搭建与配置实操
  9. Microsoft SharePoint Server 2010 的新增功能
  10. git使用—rebase还是merge
  11. 编程语言分类 -- 强类型与弱类型、动态类型与静态类型
  12. 精通Android自定义View(五)自定义属性值使用详情
  13. 锁, threading.local, 线程池, 生产者消费者模型
  14. 沉寂了多年金价为何会连续上涨 专家指出真正原因
  15. 计算机多媒体最新参考文献,计算机多媒体论文
  16. 免费易用的Web版OFD阅读器
  17. 外卖cps返利定制开发源码平台小程序美团饿了么红包电影票券分销
  18. 教育直播系统如何开发?
  19. 外汇天眼:外汇市场为何在周末休市?为什么周末行情有波动?
  20. 用python做一个自动签到程序

热门文章

  1. Java多线程系列(三):Java线程池的使用方式,及核心运行原理
  2. 阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则
  3. Android官方开发文档Training系列课程中文版:键盘输入处理之指定输入的类型
  4. Android官方开发文档Training系列课程中文版:连接无线设备之网络服务搜索功能
  5. flannel无法跨主机ping通容器的解决方式
  6. Sass基础知识及语法
  7. 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
  8. 重命名myclipse中web项目名称的过程
  9. Android学习笔记----ArcGIS在线地图服务(Android API)坐标纠偏
  10. 对一句正则表达式的理解