CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> System.out.println("任务执行中..."));
// 调用 isDone 方法查看任务是否执行完成
System.out.println("任务是否完成: " + cf.isDone());
// 等待1秒时间
Thread.sleep(1000L);
// 调用 isDone 方法再次查看任务是否执行完成
System.out.println("任务是否完成: " + cf.isDone());
// 执行 CompletableFuture 任务
CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> System.out.println("执行 CompletableFuture 任务"));
// 调用 cancel 方法取消任务
cf.cancel(true);
// 调用 isCancelled 方法,查询任务是否成功被取消
System.out.println("是否取消任务: " + cf.isCancelled());
查看当前阶段任务是否以异常的方式执行完成。比如取消任务、突然终止任务或者执行过程出现异常等,都属于异常方式执行完成,如果是以异常方式完成则返回 true,否则返回 false。
// 执行 CompletableFuture 任务
CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> {
System.out.println("执行中...");
// 模拟发生异常
System.out.println(1/0);
});
// 等待1秒确保任务执行完成
Thread.sleep(1000L);
// 调用 isCompletedExceptionally 方法验证当前阶段是否异常完成
System.out.println("是否异常完成: " + cf.isCompletedExceptionally());