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