I am running an application on a four core machine and it maxes out at around 14% CPU usage and stays there rather constantly.
Parallel.ForEach(pages,
new ParallelOptions { },
page =>
{
// do some CPU intensive stuff
});
Only if I start several instances of the application do I get over 14%. By doing that I can get close to 100% in total.
Why doesn't Parallel.ForEach do the task parallel enough to use all of the CPU?
I am running C# .NET 4.5.1.