是否可以使用Scala的并行集合,而不需要预先完全评估它,来并行化Iterator
?
这里我谈论的是在Iterator
上并行化函数转换,即map
和flatMap
。我认为这需要预先评估Iterator
的一些元素,然后在通过next
消耗某些元素后计算更多元素。
我找到的所有资料都要求将迭代器转换为Iterable
或者最好是Stream
。然而当我在Stream
上调用.par
时,它就会被完全评估。
如果没有现成的解决方案,我也欢迎实现提议。实现应支持并行map
和flatMap
。
n
个结果。一旦一个被使用,我就计算一个替换。 - ziggystar