有没有一种方法可以从
编辑:我想要并行读取和处理数据。我不想并行处理不同的行。它们应该按顺序处理。
让我们举个例子来说明我想要如何节省时间。假设我们的
我不喜欢
BufferedReader reader
中接收一个Stream<String> stream
,使得stream
中的每个字符串都代表reader
的一行,同时满足附加条件,即在读取完reader
之前直接提供stream
?我想要并行处理stream
中的数据,以节省时间。编辑:我想要并行读取和处理数据。我不想并行处理不同的行。它们应该按顺序处理。
让我们举个例子来说明我想要如何节省时间。假设我们的
reader
会向我们呈现100行。读取一行需要2毫秒,处理一行需要1毫秒。如果我先读取所有行,然后再处理它们,那么需要300毫秒。我想要做的是:一旦读取了一行,我就想要处理它,并并行读取下一行。总时间将为201毫秒。我不喜欢
BufferedReader.lines()
的原因:据我所知,当我想处理这些行时,读取才开始。假设我已经有了我的reader
,但必须在处理第一行之前进行预计算。让我们假设这需要30毫秒。在上面的例子中,总时间将是231毫秒或使用reader.lines()
将是301毫秒(您能告诉我哪个时间是正确的吗?)。但是,可以在读取前15行时并行进行预计算,从而在201毫秒内完成任务。