gpt4 book ai didi

java - 更好的并行循环方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:39 26 4
gpt4 key购买 nike

如果我想并行化这段代码:

try {
for (int i = 0; i < 10000; i++) {
new File(String.valueOf(i)).createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}

然后我将其重写为:

ArrayList<String> fileNames = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
fileNames.add(String.valueOf(i));
}
fileNames.parallelStream().forEach(i -> new File(i).createNewFile());

但是没有更好(更简单)的方法吗?

最佳答案

明显的非回答:

If I want to parallelize this code:

那么您(很可能)需要转向完全不同的硬件/软件堆栈才能从中获益。

你看,除非我们谈论某种“远程”文件系统,否则它可以(实际上)通过多个“路径”到达,并且实际上类似于多个 IO 设备。 .. 您的优化尝试毫无意义

只有并行化包含大量等待不同事物的 Activity 才有意义。但在您的情况下,您的代码使用一个文件系统与一个操作系统对话。最有可能的是,您的想法甚至会减慢速度。

关于java - 更好的并行循环方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58299944/

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