gpt4 book ai didi

java - 等待 List> 指示所有操作已完成的正确方法

转载 作者:行者123 更新时间:2023-12-03 16:19:16 24 4
gpt4 key购买 nike

我正在使用 runAsync() 运行数百个函数。所有的函数都会修改一些静态可用的列表,因此不需要返回任何内容。在继续我的处理之前,我想确保它们都完成了。这是适当的等待方式吗?有没有更简单的方法来完成我想要做的事情?

List<CompletableFuture<Void>> futures = new ArrayList<>();
active_sites.forEach(site -> site.getEntryPoints().stream().map(EntryPoint::scanEntryPoint).forEach(futures::add));
CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()])).join();

最佳答案

你可以简化一下:

CompletableFuture[] scans = active_sites.stream()
.flatMap(site -> site.getEntryPoints().stream())
.map(EntryPoint::scanEntryPoint)
.toArray(CompletableFuture[]::new)
CompletableFuture.allOf(scans).join();

关于java - 等待 List<CompletableFuture<Void>> 指示所有操作已完成的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67117826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com