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ớpclass 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