Dapatkan bilangan teras CPU dalam .NET/C#
Menentukan bilangan teras CPU yang tersedia untuk aplikasi anda adalah penting untuk mengoptimumkan prestasi. Dalam .NET/C#, terdapat pelbagai cara untuk mengekstrak maklumat ini:
1. Environment.ProcessorCount
Harta ini menyediakan bilangan pemproses logik pada sistem. Walau bagaimanapun, ia tidak membezakan antara pemproses fizikal dan teras hyper-threaded.
Console.WriteLine("逻辑处理器数量: {0}", Environment.ProcessorCount);
2. Win32_Processor
Menggunakan WMI (Windows Management Instrumentation) anda boleh mengakses maklumat yang lebih terperinci tentang pemproses:
Pemproses Fizikal:
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get()) { Console.WriteLine("物理处理器数量: {0}", item["NumberOfProcessors"]); }
Bilangan teras:
int coreCount = 0; foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get()) { coreCount += int.Parse(item["NumberOfCores"].ToString()); } Console.WriteLine("核心数量: {0}", coreCount);
3. Pemproses yang dikecualikan
Selain itu, anda boleh menggunakan panggilan API Windows untuk menemui pemproses yang dikecualikan dalam Windows. Kod berikut memaparkan jumlah bilangan pemproses logik, termasuk pemproses yang dikecualikan:
int deviceCount = 0; IntPtr deviceList = IntPtr.Zero; Guid processorGuid = new Guid("{50127dc3-0f36-415e-a6cc-4cb3be910b65}"); try { deviceList = SetupDiGetClassDevs(ref processorGuid, "ACPI", IntPtr.Zero, (int)DIGCF.PRESENT); for (int deviceNumber = 0; ; deviceNumber++) { SP_DEVINFO_DATA deviceInfo = new SP_DEVINFO_DATA(); deviceInfo.cbSize = Marshal.SizeOf(deviceInfo); if (!SetupDiEnumDeviceInfo(deviceList, deviceNumber, ref deviceInfo)) { deviceCount = deviceNumber; break; } } } finally { if (deviceList != IntPtr.Zero) { SetupDiDestroyDeviceInfoList(deviceList); } } Console.WriteLine("核心数量: {0}", deviceCount);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kiraan Teras CPU dalam .NET/C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!