During executing my multithreading program only 4 of the available 8 CPU's are being used. Why? What can I change to make all CPU's working?
Parallel.ForEach(0, CalcList.Count-1)
.NumTasks(nMax)
.NoWait
.Execute(
procedure(const value: integer)
begin
CalcUnit.EntrySearch(value);
end);
(nMax and the CalcList.Count are both 16, Intel I7 HyperThreaded)
Thank you