java for循环怎么使用CompletableFuture
时间: 2023-11-10 12:02:08 浏览: 140
在Java中,可以使用CompletableFuture来实现并发的for循环。首先,你需要创建一个CompletableFuture的列表,表示每个循环迭代的异步操作。然后,你可以使用CompletableFuture.allOf方法来等待所有异步操作完成。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class CompletableFutureExample {
public static void main(String[] args) throws InterruptedException, ExecutionException {
List<CompletableFuture<Void>> futures = new ArrayList<>();
for (int i = 0; i < 10; i++) {
final int index = i;
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
// 执行循环体的代码
System.out.println("Task " + index + " is running.");
});
futures.add(future);
}
CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
allFutures.get(); // 等待所有异步操作完成
System.out.println("All tasks have completed.");
}
}
```
在上面的示例中,我们创建了一个包含10个异步操作的CompletableFuture列表。每个异步操作都是一个打印当前任务索引的简单任务。然后,我们使用CompletableFuture.allOf方法等待所有异步操作完成,并打印出所有任务完成后的消息。
阅读全文