在PLINQ中,.AsSequential()和.AsOrdered()之间有什么区别?

use*_*663 19 c# plinq

我似乎无法理解AsSequential和AsOrdered之间的区别.我已经在msdn上查找了每个文档以及在互联网上搜索示例,但我只是一个简单的鞋匠,我无法明确了解发生了什么.如果可能的话,有人可以解释你何时使用AsSequential和AsOrdered,并在必要时解释结果会有何不同?

jas*_*son 21

AsOrdered指示Parallel LINQ引擎保留排序,但仍然并行执行查询.这具有阻碍性能的效果,因为引擎必须在并行执行后仔细合并结果.

AsSequential 指示并行LINQ引擎按顺序执行查询,即不并行执行.

  • 感谢您的答复。那么 AsSequential 是否覆盖了 AsParallel?AsSequential 有什么类型的用例?是为了防止未评估的枚举以 AsParallel 运行吗? (2认同)
  • 当您有一个非常复杂的查询时,您可以指定一般使用并行.在查询的某些部分,您可以选择按顺序执行(使用AsSequential) (2认同)
  • @Ozkan你能举个例子吗? (2认同)