有序和无序并行集合在 C# 中是否应具有不同的类型
本文关键字:类型 是否 无序 并行 集合 | 更新日期: 2023-09-27 18:30:17
使用 PLINQ C# 并行查询分为有序或无序,具体取决于构造它们的方式。此处提供了有关 PLINQ 中订单保留的一些 MSDN 信息。
我觉得这令人困惑且难以管理。在我看来,顺序重要的集合是序列,顺序不重要的集合是袋子(或者如果没有重复项,那么它们可能是集合)。
对包和序列的操作是不同的,并且具有不同的复杂性特征,尤其是当作为并行算法实现时。
换句话说,我认为有序和无序集合应该是不同的类型,这将简化事情。PLINQ中的所有内容都被统一为"ParallelQuery()",这有什么原因吗?
为什么PLINQ中的所有内容都统一为简单的"ParallelQuery()"
它更简单。我想 2 种类型本来是可能的,但需要付出相当大的代价。它会更容易使用吗?
当您在并行中处理序列时,默认情况下会放弃顺序。您应该意识到,重新建立序列是昂贵的,并且它应该需要一些额外的步骤。
但是,当您需要它时,添加.AsOrdered()
似乎比先将数据复制到另一个集合要少得多。