Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để tìm Số lõi CPU trong C #?

Có một số thông tin khác nhau liên quan đến bộ xử lý mà chúng tôi có thể nhận được

  • Số lượng bộ xử lý vật lý
  • Số lượng lõi
  • Số lượng bộ xử lý logic

Tất cả đều có thể khác nhau; trong trường hợp máy có 2 bộ xử lý siêu phân luồng kép, có 2 bộ xử lý vật lý, 4 lõi và 8 bộ xử lý logic.

Số lượng bộ xử lý logic có sẵn thông qua lớp Môi trường, nhưng thông tin khác chỉ có sẵn thông qua WMI (và bạn có thể phải cài đặt một số bản sửa lỗi hoặc gói dịch vụ để có được nó trên một số hệ thống) -

Thêm tham chiếu trong dự án của bạn vào System.Management.dll Trong .NET Core, tính năng này có sẵn (chỉ dành cho Windows) dưới dạng gói NuGet.

Bộ xử lý vật lý

Ví dụ

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

Đầu ra

Number Of Physical Processors: 1

Các lõi

Chương trình lớp
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();
   }
}

Đầu ra

Number Of Cores: 2

Bộ xử lý lôgic

class Program{
   public static void Main(){
      Console.WriteLine("Number Of Logical Processors: {0}",
      Environment.ProcessorCount);
      Console.ReadLine();
   }
}

Đầu ra

Number Of Logical Processors: 4