Как получить количество логических ядер/потоков процессора в С#?
Как я могу получить количество логических ядер в CPU?
Мне нужно это, чтобы определить, сколько потоков я должен выполнить в своем приложении.
Ответ 1
Вы можете получить количество логических процессоров через класс среды
количество ядер:
int coreCount = 0;
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get())
{
coreCount += int.Parse(item["NumberOfCores"].ToString());
}
Console.WriteLine("Number Of Cores: {0}", coreCount);
количество логических процессоров
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
Console.WriteLine("Number Of Logical Processors: {0}", item["NumberOfLogicalProcessors"]);
}
Environment.ProcessorCount
using System;
class Sample
{
public static void Main()
{
Console.WriteLine("The number of processors on this computer is {0}.",
Environment.ProcessorCount);
}
}