CompletableFuture详解~thenApply
在前一个阶段上应用函数
下面这个例子使用前面 #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相关推荐
- CompletableFuture详解~allOf
当所有的阶段都完成后创建一个阶段 上一个例子是当任意一个阶段完成后接着处理,接下来的两个例子演示当所有的阶段完成后才继续处理, 同步地方式和异步地方式两种. static void allOfExam ...
- CompletableFuture详解~anyOf
当几个阶段中的一个完成,创建一个完成的阶段 下面的例子演示了当任意一个CompletableFuture完成后, 创建一个完成的CompletableFuture. 待处理的阶段首先创建, 每个阶段都 ...
- CompletableFuture详解~thenCompose
组合 CompletableFuture 我们可以使用thenCompose()完成上面两个例子.这个方法等待第一个阶段的完成(大写转换), 它的结果传给一个指定的返回CompletableFutur ...
- CompletableFuture详解~thenCombine
使用BiFunction处理两个阶段的结果 如果CompletableFuture依赖两个前面阶段的结果, 它复合两个阶段的结果再返回一个结果,我们就可以使用thenCombine()函数.整个流水线 ...
- CompletableFuture详解~thenAcceptBoth
使用BiConsumer处理两个阶段的结果 上面的例子还可以通过BiConsumer来实现: static void thenAcceptBothExample() {String original ...
- CompletableFuture详解~runAfterBoth
这个例子演示了依赖的CompletableFuture如果等待两个阶段完成后执行了一个Runnable.注意下面所有的阶段都是同步执行的,第一个阶段执行大写转换,第二个阶段执行小写转换 static ...
- CompletableFuture 详解
转 http://www.jianshu.com/p/6f3ee90ab7d3 CompletableFuture类实现了CompletionStage和Future接口.Future是Java 5添 ...
- 【异步编程学习笔记】JDK中的FutureTask和CompletableFuture详解(使用示例、源码)
文章目录 FutureTask概述 使用实例 类图结构 FutureTask的run()方法 FutureTask的局限性 CompletableFuture概述 CompletableFuture代 ...
- CompletableFuture详解~异常处理
计算结果完成时的回调方法 当 CompletableFuture 的计算结果完成,或者抛出异常的时候,可以执行特定的 Action.主要是下面的方法: public CompletableFuture ...
最新文章
- 解决数据库里表字段带下划线,实体类转小驼峰,Mapper的映射问题
- 串口数据字节位的理解
- java hs err pid_JAVA 奔溃 生成hs_err_pid****的文件,求大神看看
- nginx编译包含perl模块
- 47. Magneto Transaction Email(1)
- 一个简单的Matlab面向对象编程实例
- J2EE基础之EJB
- python爬虫爬当当网_python爬取当当网图书排行榜
- 基于改进的残差网络的指纹识别算法
- shopex mysql索引_mysql版本太高导致shopex4.8.5无法安装
- HTML Purifier --非常好用的XSS过滤器
- vim 从嫌弃到依赖(20)——global 命令
- 数据科学库(HM)DAY 5
- matlab 实验七 低层绘图操作,matlab实验内容答案
- 【深度学习】1-权重参数全相同值初始化,导致无法训练-python
- 公司mysql试题及答案_MySQL初级考试试题及答案
- 关于任务规划和提高执行力
- 云桌面在地产中介门店的应用分析
- 关于hosts管理工具
- 本科阶段学习方向的建议