-->

究竟是什么PLINQ?(Exactly what is PLINQ?)

2019-09-16 07:06发布

PLINQ是在.NET 4.0框架的一个扩展LINQ增加。

  • 它是什么?
  • 它解决什么问题?
  • 何时适合,何时不?

Answer 1:

这是并行LINQ。 它是在多核/多处理器系统并行运行LINQ查询的方式,以(希望)加速它们。

有一个在这个好的文章MSDN杂志 。

对于当前的细节和计划,我建议在阅读文章与.NET团队博客并行编程 。 他们是实现并行扩展,包括PLINQ团队。



Answer 2:

PLINQ LINQ是并行执行,也就是说,使用你必须在当前计算机的处理能力。

如果你有2个内核像一个双核处理器的计算机,你会得到你的语言集成查询运营商利用两个内核做并行工作。

使用“唯一” LINQ你不会因为标准语言集成查询经营者不进行并行代码获取尽可能多的性能。 这意味着你的代码会以串行方式运行,而不是采取一切可用的处理器核心的优势。

有很多PLINQ查询运营商能够使用众所周知的并行模式执行代码的。

看看我的博客文章中,我展示的速度,当你在并行使用进行AsParallel扩展方法运行一个简单的LINQ查询您可以:

并行LINQ(PLINQ)与Visual Studio 2010/2012 -逆足测试

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

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



Answer 3:

这是一个库,它允许你把一个正常的LINQ查询,它分成更小的任务,并在多个线程同时处理器核心的优势执行每个单独的任务。



Answer 4:

它可以让你.AsParallel添加到您的LINQ到尝试执行使用尽可能多的处理器尽可能查询。 整洁,但你仍然需要知道你的算法是否是“可并行”了一下 - 这不是魔术。

它基本上消除了需要管理一个线程池和管理同步来从每个线程回结果 - 通常没有并行扩展库,你必须手动完成。



Answer 5:

维基百科的并行扩展 :

并行LINQ(PLINQ)可以LINQ并发查询执行引擎,并行查询的对象上执行(LINQ到对象)和XML数据(LINQ到XML)。 PLINQ是供使用查询的泄露数据的并行性。 已实现查询的对象的任何计算可以通过PLINQ并行化。 然而,对象需要实现IParallelEnumerable接口,这是由PLINQ本身定义。 内部它使用TPL执行。



文章来源: Exactly what is PLINQ?
标签: c# .net linq plinq