这是一个平行折叠操作吗?

时间:2016-05-27 08:02:53

标签: scala playframework reactivemongo

来自Play的fold的定义! API是

enter image description here

因为折叠函数采用两种不同的类型A,E这是否意味着此操作不是并行运行的?

根据Fold and foldLeft method difference根据折叠的类型签名(来自Scala API):

enter image description here

op函数采用两种相同类型(A1),这允许操作并行运行。

折叠操作本身是在使用ExecutionContext的新线程中实现的,它以隐式方式传递。折叠类型签名表明它不能并行实现,Iteratee.fold为折叠操作创建一个新线程,因此是非阻塞的。总之,fold不是并行操作,而是非阻塞的?这与可以并行运行的Scala折叠操作形成对比。

0 个答案:

没有答案