用Java 8并行流读取文件行是个好主意吗?

时间:2018-10-09 17:40:12

标签: java-8 parallel-processing java-stream

用Java 8并行流读取文件行是个好主意吗? 每行都是一个URL,因此任务是

  1. 阅读URL
  2. 连接到适当的URL地址
  3. 将资源保存到适当的文件夹

有时使用并行流会导致神秘的错误,那么使用并行流是否是直接的案例?

1 个答案:

答案 0 :(得分:3)

这取决于,如果您的文件没有多行,则可能根本无法从并行处理中受益,这有两个原因:1)由于所有并行基础结构都不便宜,以及2)由于流不知道有多少行File行。这样,它将读取行并为每个Spliterator(大块)创建一个缓冲区,IIRC以1024行开始,并添加1024,依此类推...因此并行可能会变得非常昂贵,而几乎没有在这种情况下受益。另一方面,如果您有大量文件...测量一下是否确实需要parallel

还请注意,您将要进行一些IO,并且并行执行并不是一个好主意。