Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะค้นหาจำนวนคอร์ของ CPU ใน C # ได้อย่างไร


มีข้อมูลหลายอย่างที่เกี่ยวข้องกับโปรเซสเซอร์ที่เราสามารถรับได้

  • จำนวนตัวประมวลผลจริง
  • จำนวนคอร์
  • จำนวนตัวประมวลผลเชิงตรรกะ

สิ่งเหล่านี้อาจแตกต่างกัน ในกรณีของเครื่องที่มีตัวประมวลผลแบบไฮเปอร์เธรดดิ้งแบบดูอัลคอร์ 2 คอร์ จะมีตัวประมวลผลจริง 2 ตัว, 4 คอร์ และตัวประมวลผลเชิงตรรกะ 8 ตัว

จำนวนของตัวประมวลผลแบบลอจิคัลมีอยู่ในคลาส Environment แต่ข้อมูลอื่นๆ จะพร้อมใช้งานผ่าน WMI เท่านั้น (และคุณอาจต้องติดตั้งโปรแกรมแก้ไขด่วนหรือเซอร์วิสแพ็คเพื่อรับมันในบางระบบ) -

เพิ่มข้อมูลอ้างอิงในโครงการของคุณไปที่ System.Management.dll ใน .NET Core มีให้ใช้งาน (สำหรับ Windows เท่านั้น) เป็นแพ็คเกจ NuGet

ตัวประมวลผลทางกายภาพ

ตัวอย่าง

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