是否可以确保foreach
按定义从第一个元素到最后一个元素(除非意外中断)顺序地迭代主题集合(如果定义了顺序)?难道没有任何编译器优化开关可以阻止它(改组序列)或计划在将来的版本中使普通的foreach
并行吗?
最佳答案
对于顺序收集(即正常层次结构或由.seq
转换的任何内容),保证Foreach是顺序的。集合库的并行部分(可以通过.par
或通过显式使用collection.parallel
的类从标准集合中获取)可以保证不按顺序求值。如果您想成为不可知论者,可以使用GenX
一组特征(例如GenSeq
);这些都不能保证执行顺序,也不能保证并行进行工作。
关于scala - 是否可以确保按foreach定义按顺序在Scala中迭代主题集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439535/