取消计算

和完成异常类似,我们可以调用cancel(boolean mayInterruptIfRunning)取消计算。对于CompletableFuture类,布尔参数并没有被使用,这是因为它并没有使用中断去取消操作,相反,cancel等价于completeExceptionally(new CancellationException())

static void cancelExample() {CompletableFuture cf = CompletableFuture.completedFuture("message").thenApplyAsync(String::toUpperCase,CompletableFuture.delayedExecutor(1, TimeUnit.SECONDS));CompletableFuture cf2 = cf.exceptionally(throwable -> "canceled message");assertTrue("Was not canceled", cf.cancel(true));assertTrue("Was not completed exceptionally", cf.isCompletedExceptionally());assertEquals("canceled message", cf2.join());
}

CompletableFuture详解~cancel相关推荐

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

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

  2. CompletableFuture详解~completeExpectionally

    完成计算异常 现在我们来看一下异步操作如何显式地返回异常,用来指示计算失败.我们简化这个例子,操作处理一个字符串,把它转换成答谢,我们模拟延迟一秒. 我们使用thenApplyAsync(Functi ...

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

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

  4. CompletableFuture详解~异常处理

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

  5. CompletableFuture详解~supplyAsync

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

  6. CompletableFuture详解~allOf

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

  7. CompletableFuture详解~anyOf

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

  8. CompletableFuture详解~thenCompose

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

  9. CompletableFuture详解~thenCombine

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

最新文章

  1. SpringBoot下文件上传与下载的实现
  2. 在Chrome开发者工具里手动测试element focus效果
  3. 【渝粤题库】广东开放大学 个人与团队管理 形成性考核
  4. html写用户导入,用户基本信息录入.html
  5. spring boot配置logback日志
  6. mysql根据时间回退_MySQL 中的日期时间类型
  7. jquery项目源码_第一个jQuery程序
  8. 验证只能以英文字母开头的字符串
  9. PHP7中异常与错误处理与之前版本对比
  10. 两种办法解决外网资源下载速度过慢的问题
  11. php直播平台原理,php直播平台源码的直播带货平台有何技巧,别说没告诉你
  12. 工行网银助手 重装错误
  13. VTCP QIO技术解析
  14. python 数据处理时去除emoji表情
  15. mysq根据首字母模糊检索,拼音首字母模糊查询名称
  16. gif文件太大怎么办?gif动图如何在线压缩?
  17. SLAM十四讲之第5讲--相机标定
  18. 设计模式-设计原则之迪米特原则
  19. 想交易期权要怎么买卖?
  20. sqlserver 模糊查询

热门文章

  1. 关于python中带下划线的变量和函数 的意义,class类带一个下划线和带两个下划线的定义
  2. TI-RTOS实时操作系统开发之功耗测试
  3. Sublime Text 3无法安装Package Control插件的解决
  4. (4)Python3笔记 之 流程控制
  5. python xml
  6. C++primer 13.6.2节练习
  7. jQuery 插件格式 规范
  8. PHP-php.ini中文版
  9. 《C++ Primer 4th》读书笔记 第7章-函数
  10. Silverlight 入门