// Java 异步执行代码示例
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class AsyncExample {
public static void main(String[] args) {
// 创建一个CompletableFuture来异步执行任务
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
// 模拟耗时操作,例如网络请求或计算
try {
Thread.sleep(2000); // 模拟延迟
} catch (InterruptedException e) {
e.printStackTrace();
}
return "异步任务完成";
});
// 主线程继续执行其他任务
System.out.println("主线程在等待异步任务完成...");
// 等待异步任务完成并获取结果
try {
String result = future.get(); // 阻塞等待结果
System.out.println(result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
// 也可以使用 thenAccept 来处理异步任务的结果,而不需要阻塞主线程
future.thenAccept(result -> System.out.println("异步任务返回: " + result));
// 让主线程稍作等待,以便观察异步任务的输出
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
thenAccept等非阻塞方法来处理结果。通过这种方式,你可以让某些耗时的操作在后台执行,而不阻塞主线程,从而提高程序的响应速度和效率。
上一篇:java练习
下一篇:linux 安装 java
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站