异步线程list集合如何分装到 completablefuture
时间: 2024-02-01 09:10:39 浏览: 110
coursera-lab-5
异步线程可以使用CompletableFuture来封装list集合的操作。下面是一个示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<CompletableFuture<Integer>> futures = list.stream()
.map(num -> CompletableFuture.supplyAsync(() -> {
// 在这里执行异步操作
return num * num;
}))
.collect(Collectors.toList());
List<Integer> resultList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
System.out.println(resultList);
```
这段代码将list集合中的每个元素进行平方操作,并将结果存储在一个新的list中。通过使用`CompletableFuture.supplyAsync()`方法,我们可以将每个操作封装为一个异步任务,并使用`join()`方法获取每个任务的结果。最后,我们将所有结果收集到一个新的list中并打印出来。
阅读全文