侧边栏壁纸
  • 累计撰写 74 篇文章
  • 累计创建 45 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

C#中如何获取当前系统CPU的核心数

码峰
2022-07-11 / 0 评论 / 0 点赞 / 146 阅读 / 314 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在C#开发中,有时候我们需要获取当前系统CPU的核心数,关于CPU的核心数,主要有物理处理器(Physical Processors)的个数、CPU核心(Cores)的个数和逻辑处理器(Logical Processors)的个数三种。
比如,使能了超线程的2个双核心的处理器,有2个物理处理器,4个内核,和8个逻辑处理器。其中逻辑处理器的个数,在C#中可以通过Environment类获取,但其他CPU信息只能通过WMI来获取了。

物理处理器(Physical Processors)个数获取的参考代码:

foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
    Console.WriteLine("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]);
}

CPU核心数(Cores)获取的参考代码:

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);

CPU逻辑处理器(Logical Processors)个数获取的参考代码:

Console.WriteLine("Number Of Logical Processors: {0}", Environment.ProcessorCount);
//或者
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
    Console.WriteLine("Number Of Logical Processors: {0}", item["NumberOfLogicalProcessors"]);
}
0

评论区