PLINQ和逻辑处理器

时间:2014-01-30 23:35:14

标签: c# .net plinq processors

我的系统配置如下: Intel(R)Core(TM)i7-3820QM CPU @ 2.70GHz,2694 Mhz,4 Core(s),8个逻辑处理器

您可能会注意到我的机器有4个内核和8个逻辑处理器。

如果我要使用PLINQ查询来利用并行性,我可以为 WithDegreeOfParallelism 指定7,这样查询将通过创建一个线程来利用所有逻辑处理器每个逻辑处理器?

1 个答案:

答案 0 :(得分:3)

  1. 您不必告诉PLINQ您拥有多少个逻辑处理器。它已经知道(使用Environment.ProcessorCount),它会相应地优化查询。 WithDegreeOfParallelism的目的是控制PLINQ不知道的内容,例如,如果您的代码主要是I/O密集而非CPU密集。
  2. 如果你坚持,你可以这样做。
  3. 如果您有8个处理器,为什么要将其限制为7?