如何在C#中找到CPU内核数?

我们可以获得与处理器有关的几条不同的信息

  • 物理处理器数量

  • 核心数

  • 逻辑处理器数量

这些都可以有所不同。对于具有2个启用双核超线程的处理器的计算机,有2个物理处理器,4个内核和8个逻辑处理器。

逻辑处理器的数量可通过Environment类获得,但其他信息仅可通过WMI获得(并且可能必须安装一些修补程序或Service Pack才能在某些系统上获得它)-

在项目中添加对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

以上是 如何在C#中找到CPU内核数? 的全部内容, 来源链接: utcz.com/z/331333.html

回到顶部