CompletableFuture详解~cancel
取消计算
和完成异常类似,我们可以调用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相关推荐
- 【异步编程学习笔记】JDK中的FutureTask和CompletableFuture详解(使用示例、源码)
文章目录 FutureTask概述 使用实例 类图结构 FutureTask的run()方法 FutureTask的局限性 CompletableFuture概述 CompletableFuture代 ...
- CompletableFuture详解~completeExpectionally
完成计算异常 现在我们来看一下异步操作如何显式地返回异常,用来指示计算失败.我们简化这个例子,操作处理一个字符串,把它转换成答谢,我们模拟延迟一秒. 我们使用thenApplyAsync(Functi ...
- CompletableFuture详解~join与get的区别
一.相同点: join()和get()方法都是用来获取CompletableFuture异步之后的返回值 二.区别: 1.join()方法抛出的是uncheck异常(即RuntimeException ...
- CompletableFuture详解~异常处理
计算结果完成时的回调方法 当 CompletableFuture 的计算结果完成,或者抛出异常的时候,可以执行特定的 Action.主要是下面的方法: public CompletableFuture ...
- CompletableFuture详解~supplyAsync
supplyAsync 可以支持返回值. //有返回值 public static void supplyAsync() throws Exception {CompletableFuture< ...
- CompletableFuture详解~allOf
当所有的阶段都完成后创建一个阶段 上一个例子是当任意一个阶段完成后接着处理,接下来的两个例子演示当所有的阶段完成后才继续处理, 同步地方式和异步地方式两种. static void allOfExam ...
- CompletableFuture详解~anyOf
当几个阶段中的一个完成,创建一个完成的阶段 下面的例子演示了当任意一个CompletableFuture完成后, 创建一个完成的CompletableFuture. 待处理的阶段首先创建, 每个阶段都 ...
- CompletableFuture详解~thenCompose
组合 CompletableFuture 我们可以使用thenCompose()完成上面两个例子.这个方法等待第一个阶段的完成(大写转换), 它的结果传给一个指定的返回CompletableFutur ...
- CompletableFuture详解~thenCombine
使用BiFunction处理两个阶段的结果 如果CompletableFuture依赖两个前面阶段的结果, 它复合两个阶段的结果再返回一个结果,我们就可以使用thenCombine()函数.整个流水线 ...
最新文章
- SpringBoot下文件上传与下载的实现
- 在Chrome开发者工具里手动测试element focus效果
- 【渝粤题库】广东开放大学 个人与团队管理 形成性考核
- html写用户导入,用户基本信息录入.html
- spring boot配置logback日志
- mysql根据时间回退_MySQL 中的日期时间类型
- jquery项目源码_第一个jQuery程序
- 验证只能以英文字母开头的字符串
- PHP7中异常与错误处理与之前版本对比
- 两种办法解决外网资源下载速度过慢的问题
- php直播平台原理,php直播平台源码的直播带货平台有何技巧,别说没告诉你
- 工行网银助手 重装错误
- VTCP QIO技术解析
- python 数据处理时去除emoji表情
- mysq根据首字母模糊检索,拼音首字母模糊查询名称
- gif文件太大怎么办?gif动图如何在线压缩?
- SLAM十四讲之第5讲--相机标定
- 设计模式-设计原则之迪米特原则
- 想交易期权要怎么买卖?
- sqlserver 模糊查询