// Java异步处理方法示例
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class AsyncExample {
// 使用CompletableFuture进行异步处理
public static void main(String[] args) {
// 创建一个异步任务,返回一个CompletableFuture对象
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
// 模拟耗时操作
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "异步任务完成";
});
// 当异步任务完成后,执行后续操作
future.thenAccept(result -> {
System.out.println("接收到异步任务的结果: " + result);
});
// 防止主线程提前结束
try {
future.get(); // 等待异步任务完成
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}
CompletableFuture:这是Java 8引入的一个类,用于简化异步编程。它可以表示一个异步计算的结果,并提供了一系列的方法来处理这个结果。
supplyAsync():这是一个静态方法,用于创建一个新的异步任务。它接受一个Supplier<T>类型的参数,表示一个可以返回结果的函数式接口。
thenAccept():当异步任务完成后,thenAccept()方法会被调用,它接受一个Consumer<T>类型的参数,表示一个消费结果的函数式接口。
future.get():为了确保主线程不会在异步任务完成之前退出,我们使用future.get()来等待异步任务的结果。
通过这种方式,你可以轻松地实现异步任务的执行,并在任务完成后处理其结果。
上一篇:java map 遍历
下一篇:java poi
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站