.NET 4.0 Beta 1将为PLINQ带来些什么?

  • With- 运算符模式
  • 执行模式
  • 取消操作
  • 自定义分区
  • 部分代码的重构
  • 合并选项
  • AsMerged又重新命名为AsSequential
  • 二元运算符现在需要两边都进行AsParallel
  • 性能提升
  • 删除了很少用到的运算符
  • e.AsParallel().WithDegreeOfParallelism
  • e.AsParallel().WithExecutionMode
  • e.AsParallel().WithCancellation
  • e.AsParallel().WithMergeOptions
  • 包含编入索引的Select,编入索引的Where,编入索引的SelectMany或者位置不在原始顺序上的ElementAt的查询。索引排序容易受到改变排序规则(如OrderBy)运算符和删除元素(如Where)运算符的影响。
  • 在已经偏离原始顺序的情况下(参看上面的条目),包含Take、TakeWhile、Skip、SkipWhile运算符的查询,。
  • 包含Zip、SequenceEquals的查询,除非其中一个数据源具有初始排序的索引,并且其他数据源是可索引的(比如一个数组或IList<T>)。
  • 包含Concat的查询,除非它是应用到可索引的数据源上。
  • 包含Reverse的查询,除非应用到可索引的数据源上。
e.AsParallel().WithExecutionMode(ParallelExecutionMode.ForceParallelism)
a.AsParallel().AsOrdered().Zip(b, (x, y) => x*y);
a.AsParallel().AsOrdered().Zip(b.AsParallel(), (x, y) => x*y);
a.AsParallel().AsOrdered().Zip(b.AsParallel().AsOrdered(), (x, y) => x*y);

查看英文原文:What Is .NET 4.0 Beta 1 Going to Bring to PLINQ?

你可能感兴趣的:(.NET 4.0 Beta 1将为PLINQ带来些什么?)