来自Play的fold的定义! API是
因为折叠函数采用两种不同的类型A,E这是否意味着此操作不是并行运行的?
根据Fold and foldLeft method difference根据折叠的类型签名(来自Scala API):
op函数采用两种相同类型(A1),这允许操作并行运行。
折叠操作本身是在使用ExecutionContext
的新线程中实现的,它以隐式方式传递。折叠类型签名表明它不能并行实现,Iteratee.fold为折叠操作创建一个新线程,因此是非阻塞的。总之,fold不是并行操作,而是非阻塞的?这与可以并行运行的Scala折叠操作形成对比。