Java 利用 CompletableFuture 实现异步任务循环顺序执行
要实现这个功能,你可以使用Java的`CompletableFuture`类。首先,创建一个异步任务,然后在循环中等待它完成。当任务完成后,继续执行下一个任务。以下是一个示例: ```java import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; public class AsyncLoop { public static void main(String[] args) throws InterruptedException, ExecutionException { for (int i = 0; i < 5; i++) { CompletableFuture<Void> future = asyncTask(i); future.get(); // 等待异步任务完成 } } private static CompletableFuture<Void> asyncTask(int taskNumber) { return CompletableFuture.runAsync(() -> { System.out.println("开始执行任务 " + taskNumber); try { Thread.sleep(1000); // 模拟耗时操作 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("任务 " + taskNumber + " 完成"); }); } } ``` 在这个示例中,我们创建了一个名为`asyncTask`的方法,它接受一个整数参数`taskNumber`。这个方法返回一个`CompletableFuture<Void>`对象,表示一个异步任务。在`main`方法中,我们使用一个循环来执行5个异步任务。每次循环时,我们调用`asyncTask`方法并等待其完成(通过调用`future.get()`)。这样,我们可以确保在继续下一个任务之前,当前任务已经完成。 ######[AI写代码神器 | 378点数解答 | 2024-06-12 10:57:06]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1211
- Java 实战:用 CompletableFuture 异步返回 String 类型结果!(字节豆包 | 208点数解答 | 2024-08-07 12:07:26)121
- 50 分判断题大揭秘:变量、条件、循环与数组知识正误辨析(字节豆包 | 229点数解答 | 2025-12-21 19:15:16)79
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)370
- C语言贪心法:多机调度问题的算法设计与代码实现(阿里通义 | 665点数解答 | 2024-11-27 08:39:39)365
- 优化高中英语核心词汇短语HTML页面,这些建议不容错过!(DeepSeek | 217点数解答 | 2025-07-01 23:41:02)202
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)493
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)378
- Python开发必懂:同步、异步、阻塞、非阻塞概念全解析(阿里通义 | 263点数解答 | 2023-11-08 00:56:38)247
- Spring Boot + Maven + FFmpeg:实现 MP4 转 RTSP 异步视频转码( | 2230点数解答 | 2024-05-08 14:53:55)277