C#Parallel.ForEach不使用可用的CPU功率

tom*_*msv 5 .net c# parallel-processing task-parallel-library parallel.foreach

我在四核计算机上运行一个应用程序,它的CPU使用率最高可达14%,并且不断地停留在那里.

Parallel.ForEach(pages,
    new ParallelOptions { },
      page =>
      {
         // do some CPU intensive stuff
      });
Run Code Online (Sandbox Code Playgroud)

只有当我启动应用程序的多个实例时,我才能获得超过14%.通过这样做,我总共可以接近100%.

为什么Parallel.ForEach没有并行完成任务以使用所有CPU?

我正在运行C#.NET 4.5.1.