在前一个阶段上应用函数

下面这个例子使用前面 #1 的完成的CompletableFuture, #1返回结果为字符串message,然后应用一个函数把它变成大写字母。

static void thenApplyExample() {CompletableFuture cf = CompletableFuture.completedFuture("message").thenApply(s -> {assertFalse(Thread.currentThread().isDaemon());return s.toUpperCase();});assertEquals("MESSAGE", cf.getNow(null));
}

注意thenApply方法名称代表的行为。

then意味着这个阶段的动作发生当前的阶段正常完成之后。本例中,当前节点完成,返回字符串message

Apply意味着返回的阶段将会对结果前一阶段的结果应用一个函数。

函数的执行会被阻塞,这意味着getNow()只有大写操作被完成后才返回。

CompletableFuture详解~thenApply相关推荐

  1. CompletableFuture详解~allOf

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

  2. CompletableFuture详解~anyOf

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

  3. CompletableFuture详解~thenCompose

    组合 CompletableFuture 我们可以使用thenCompose()完成上面两个例子.这个方法等待第一个阶段的完成(大写转换), 它的结果传给一个指定的返回CompletableFutur ...

  4. CompletableFuture详解~thenCombine

    使用BiFunction处理两个阶段的结果 如果CompletableFuture依赖两个前面阶段的结果, 它复合两个阶段的结果再返回一个结果,我们就可以使用thenCombine()函数.整个流水线 ...

  5. CompletableFuture详解~thenAcceptBoth

    使用BiConsumer处理两个阶段的结果 上面的例子还可以通过BiConsumer来实现: static void thenAcceptBothExample() {String original ...

  6. CompletableFuture详解~runAfterBoth

    这个例子演示了依赖的CompletableFuture如果等待两个阶段完成后执行了一个Runnable.注意下面所有的阶段都是同步执行的,第一个阶段执行大写转换,第二个阶段执行小写转换 static ...

  7. CompletableFuture 详解

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

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

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

  9. CompletableFuture详解~异常处理

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

最新文章

  1. 解决数据库里表字段带下划线,实体类转小驼峰,Mapper的映射问题
  2. 串口数据字节位的理解
  3. java hs err pid_JAVA 奔溃 生成hs_err_pid****的文件,求大神看看
  4. nginx编译包含perl模块
  5. 47. Magneto Transaction Email(1)
  6. 一个简单的Matlab面向对象编程实例
  7. J2EE基础之EJB
  8. python爬虫爬当当网_python爬取当当网图书排行榜
  9. 基于改进的残差网络的指纹识别算法
  10. shopex mysql索引_mysql版本太高导致shopex4.8.5无法安装
  11. HTML Purifier --非常好用的XSS过滤器
  12. vim 从嫌弃到依赖(20)——global 命令
  13. 数据科学库(HM)DAY 5
  14. matlab 实验七 低层绘图操作,matlab实验内容答案
  15. 【深度学习】1-权重参数全相同值初始化,导致无法训练-python
  16. 公司mysql试题及答案_MySQL初级考试试题及答案
  17. 关于任务规划和提高执行力
  18. 云桌面在地产中介门店的应用分析
  19. 关于hosts管理工具
  20. 本科阶段学习方向的建议

热门文章

  1. 一篇文章详解大数据技术和应用场景
  2. mysql查询时间段内的数据
  3. hibernate之CRUD操作
  4. 算法总结之欧拉函数中国剩余定理
  5. Linux系统中的load average
  6. ReaderMe 1.0.0.32版发布
  7. 使用代理时服务变量的变化
  8. 背景和弹出 Panel 都带有动画效果的 modal 效果
  9. 牛客15555 1 + 2 = 3?
  10. Leetcode--188. 买卖股票的最佳时机Ⅳ