究竟什么是PLINQ?

Alo*_*kin 40 .net c# linq plinq

PLINQ作为LINQ的扩展添加在.NET 4.0 Framework中.

  • 它是什么?
  • 它解决了什么问题?
  • 什么时候适当,什么时候不适合?

Ree*_*sey 37

这是并行LINQ.这是一种在多核/多处理器系统上并行运行LINQ查询的方法,以便(希望)加速它们.

MSDN杂志上有一篇很好的文章.

有关当前的详细信息和计划,我建议您阅读有关使用.NET Team Blog进行并行编程的文章.他们是实现并行扩展的团队,包括PLINQ.

  • MSDN杂志没有深入链接到文章,但博客仍然很好,所以你仍然得到我的投票. (3认同)

Len*_*rri 15

PLINQ是并行执行的LINQ,即使用当前计算机中的处理能力.

如果您的计算机具有2核,如双核处理器,您将获得语言集成查询操作员使用两个核心并行工作.

使用"only"LINQ,您将无法获得同样多的性能,因为标准语言集成查询运算符不会并行化您的代码.这意味着您的代码将以串行方式运行,而不会利用所有可用的处理器内核.

有许多PLINQ查询运算符能够使用众所周知的并行模式执行代码.

看一下我的博客文章,其中展示了使用AsParallel扩展方法在Parallel中运行简单的LINQ查询时获得的速度:

使用Visual Studio 2010/2012并行LINQ(PLINQ) - Perf测试

如果你想深入使用PLINQ,我建议你阅读:

并行编程模式:使用.NET Framework理解和应用并行模式4


Dar*_*rov 10

它是一个库,允许您进行正常的LINQ查询,将其划分为较小的任务,并利用处理器核心在多个线程上执行每个单独的任务.