在两个完成的阶段其中之一上应用函数

下面的例子创建了CompletableFuture, applyToEither处理两个阶段, 在其中之一上应用函数(包保证哪一个被执行)。本例中的两个阶段一个是应用大写转换在原始的字符串上, 另一个阶段是应用小些转换。

static void applyToEitherExample() {String original = "Message";CompletableFuture cf1 = CompletableFuture.completedFuture(original).thenApplyAsync(s -> delayedUpperCase(s));CompletableFuture cf2 = cf1.applyToEither(CompletableFuture.completedFuture(original).thenApplyAsync(s -> delayedLowerCase(s)),s -> s + " from applyToEither");assertTrue(cf2.join().endsWith(" from applyToEither"));
}

CompletableFuture详解~applyToEither相关推荐

  1. CompletableFuture详解~CompletionStage

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

  2. CompletableFuture 详解

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

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

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

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

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

  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. SAP LSMW 因物料描述里有换行符或者引号导致数据导入失败
  2. 【正一专栏】卡卡退役-送别了多少人的青春和初恋
  3. Mac安装python3的opencv包
  4. 乐高收割机器人_乐高圣诞45002作品来啦!——驯鹿拉雪橇、圣诞树、圣诞棒棒糖...
  5. Django model中的 class Meta 详解
  6. 位运算中的左移和右移的计算详解
  7. oracle如何获取异常,ORACLE-函数异常处理(EXCEPTION)
  8. 英文论文要怎么查重?
  9. 大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明...
  10. 【C语言】数组和函数
  11. ubuntu格式化硬盘
  12. Antd 表格样式修改
  13. 阴阳师斗技通用,3000上下冲浪斗技(上)
  14. Mysql的高可用架构搭建(MHA)
  15. 流式布局案例——京东网页
  16. 抖音sdk接口API调用-关注与取消关注抖音号
  17. 全面分析战!Redis持久化策略,这么一理顺,才知很简单
  18. 惠普HP Prime可编程计算器之添加坐标表及写入与读取
  19. html canvas 开发工具,基于js的html canvas工具包:cantool
  20. R之四格表与列联表数据的统计处理

热门文章

  1. 深入浅出排序学习:写给程序员的算法系统开发实践
  2. 阿里P8架构师谈:流量高峰时期的性能瓶颈有哪些、以及如何来解决
  3. 最全Java面试180题:阿里11面试+网易+百度+美团!含答案大赠送!
  4. 详解RPC远程调用和消息队列MQ的区别
  5. 文本相似度-相似度度量
  6. Android官方开发文档Training系列课程中文版:性能优化建议
  7. 「Python」为什么Python里面,整除的结果会是小数?
  8. 如何做一名优秀的电子工程师[zz]
  9. 对象构造函数的原型图
  10. Win7x64_chromeX86_相关路径