// 使用 CompletableFuture 和 await 的示例代码
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class JavaAwaitExample {
public static void main(String[] args) {
// 创建一个异步任务
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
try {
// 模拟耗时操作
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Hello, World!";
});
// 主线程继续执行其他任务
System.out.println("主线程正在执行其他任务...");
try {
// 使用 join() 方法等待异步任务完成并获取结果
String result = future.join(); // 这里相当于 await
System.out.println("异步任务的结果是: " + result);
} catch (CompletionException e) {
e.getCause().printStackTrace();
}
}
}
CompletableFuture 对象。这个方法接受一个 Supplier 函数式接口作为参数,表示一个有返回值的任务。await,用于阻塞当前线程,直到 CompletableFuture 完成并返回结果。如果任务抛出异常,join() 会抛出 CompletionException。这段代码展示了如何使用 CompletableFuture 来执行异步任务,并使用 join() 方法等待任务完成并获取结果。
上一篇:java int 转double
下一篇:java获取随机数整数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站