Java
Python前端运维数据库
Java
Java
  • 新特性
    • Record
    • Optional
  • 面向对象
    • 面向对象基础
    • 构造方法
    • 继承与多态
    • 接口
    • 修饰符
    • 代码块
    • 接口(Interface)
    • 枚举类
  • IO流
    • IO
      • 字节流
      • 字符流
      • 缓冲流
      • 转换流
      • 操作ZIP
      • File 对象
    • NIO
      • Channel和Buffer
      • 异步文件通道AsynchronousFileChannel
      • Selector
      • Path/Files/Pipe
  • 反射
  • 内存分配
  • 集合
    • 简介
    • List
    • Set
    • Map
    • EnumMap
  • 日期与时间
    • Date和Calendar
    • Java8 新时间 ✨
      • LocalDateTime
      • ZonedDateTime
      • Duration
    • 时间格式化
      • SimpleDateFromat
      • DateTimeFormatter ✨
    • Instant
    • 实践
  • 网络编程
    • IP 地址
    • 网络模型
    • TCP 编程
    • UDP 编程
    • HTTP 编程
  • 加密和安全
  • 并发编程
    • 多线程
    • 线程与进程的区别
    • 线程组和线程优先级
    • 线程池
    • 线程锁
  • 异步任务
    • Future
    • CompletableFuture
      • 开启异步任务
      • 串行任务方法
      • 并行任务方法
      • 任务结束方法
      • 异常处理方法
      • 查看状态方法
      • 设置任务结果方法
  • 执行系统命令
  • Stream 流
    • Stream 流的创建
    • Stream 流串行与并行
    • Stream 流中间操作
    • Stream 流终端操作
  • Lambda 表达式
    • Lambda 表达式简介
    • Lambda 表达式语法
    • 方法引用
  • String
  • StringBuffer
由 GitBook 提供支持
在本页
  • obtrudeValue
  • obtrudeException
  • complete
  • completeException

这有帮助吗?

  1. 异步任务
  2. CompletableFuture

设置任务结果方法

obtrudeValue

设置(重置)调用 get/join 方法时返回指定值,无论任务是否执行完成。

// 执行 CompletableFuture 任务
CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> "示例-执行完成");
// 设置或重置 get 方法和与其相关方法的返回的值
cf.obtrudeValue("示例-强制设置返回值-无论成功失败");
// 调用 get 方法进行等待,获取执行结果并输出到控制台
String result = cf.get();
System.out.println(result);

obtrudeException

设置(重置)调用 get/join 方法时返回指定异常,无论任务是否执行完成。

// 执行 CompletableFuture 任务
CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> "示例-执行完成");
// 设置或重置 get 方法和与其相关方法的返回的异常
cf.obtrudeException(new RuntimeException("示例-强制设置异常-无论成功失败"));
// 调用 get 方法进行等待,获取执行结果并输出到控制台
String result = cf.get();
System.out.println(result);

complete

设置调用 get/join 方法时返回指定值。不过需要注意的是,如果任务没有执行完成,则可以通过该方法设置返回值,并且返回 true。如果任务已经完成,则无法配置,并且返回 false。

// 执行 CompletableFuture 任务
CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> "示例-执行完成");
// 设置 get 方法和与其相关方法的返回的值
boolean result = cf.complete("示例-设置返回值-成功");
// 调用 get 方法进行等待,获取执行结果并输出到控制台
String resultValue = cf.get();
System.out.println(resultValue);
System.out.println(result);

completeException

设置调用 get/join 方法时返回指定异常。不过需要注意的是,如果任务没有执行完成,则可以通过该方法设置返回值,并且返回 true。如果任务已经完成,则无法配置,并且返回 false。

// 执行 CompletableFuture 任务
CompletableFuture<String> cf = CompletableFuture.supplyAsync(() -> "示例-执行完成");
// 设置 get 方法和与其相关方法的返回的异常
boolean result = cf.completeExceptionally(new RuntimeException("示例-设置异常-成功"));
// 调用 get 方法进行等待,获取执行结果并输出到控制台
String resultValue = cf.get();
System.out.println(resultValue);
System.out.println(result);
上一页查看状态方法下一页执行系统命令

最后更新于1年前

这有帮助吗?