开发者社区> 问答> 正文

有没有更好的并行循环方式

我想并行化此代码:

try { for (int i = 0; i < 10000; i++) { new File(String.valueOf(i)).createNewFile(); } } catch (IOException e) { e.printStackTrace(); } 然后将其重写为:

ArrayList fileNames = new ArrayList<>(); for (int i = 0; i < 10000; i++) { fileNames.add(String.valueOf(i)); } fileNames.parallelStream().forEach(i -> new File(i).createNewFile()); 但是,有没有更好的方法呢?

展开
收起
小六码奴 2019-10-09 16:43:14 702 0
1 条回答
写回答
取消 提交回答
  • 尝试IntStream在parallel():

    IntStream.range(0, 10000).parallel().forEach(i -> { try { new File(String.valueOf(i)).createNewFile(); } catch (IOException e) { e.printStackTrace(); } }); 但是由于磁盘操作,效率不会很高

    2019-10-09 16:44:15
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
为并行图数据处理提供高层抽象/语言 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
数据带来无限可能 立即下载