我们可以获得与处理器相关的多种不同信息
- 物理处理器数量
- 核心数量
- 逻辑处理器的数量
这些都可以不同;以启用2个双核超线程的机器为例 处理器,有 2 个物理处理器、4 个核心和 8 个逻辑处理器。
逻辑处理器的数量可以通过 Environment 类获得,但是 其他信息只能通过 WMI 获得(并且您可能需要安装一些 在一些系统上,需要安装热修补或服务包才能进行操作)−
在您的项目中添加对System.Management.dll的引用。在.NET Core中,这是作为一个NuGet包(仅限Windows)提供的。
物理处理器
示例
class Program{
public static void Main(){
foreach (var item in new
System.Management.ManagementObjectSearcher("Select * from
Win32_ComputerSystem").Get()){
Console.WriteLine("Number Of Physical Processors: {0} ",
item["NumberOfProcessors"]);
}
Console.ReadLine();
}
}
输出
Number Of Physical Processors: 1
核心
class Program{
public static void Main(){
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);
Console.ReadLine();
}
}
输出
Number Of Cores: 2
逻辑处理器
class Program{
public static void Main(){
Console.WriteLine("Number Of Logical Processors: {0}",
Environment.ProcessorCount);
Console.ReadLine();
}
}
输出
Number Of Logical Processors: 4