Java 8:并行流等待所有线程完成任务

使用并行流处理具有大量数据的大量文件并将它们写入特定格式。这是代码:


public static void main(String[] args) throws Exception {

   mergeController.compactFiles();

   mergeController.writeMergedFlag();

}

private void compactFiles() {

  Set<String> events = this.listSubDirectoryNames(inputDir);

  events.parallelStream().forEach(event -> writeEvent(event, eventSchemaMap.get(event), this.configuration));

}

这些方法不返回任何内容,因为它们只是在写入文件。我看到writeMergedFlag()主要是在运行该过程 1.5 小时后被调用。


这里有什么问题?是堆空间问题还是其他问题?我以前没有遇到过这种类型的问题。


MM们
浏览 272回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java