.NET/C#을 사용하여 CPU 코어 수 검색
.NET/C#은 시스템에서 사용 가능한 CPU 코어 수를 식별하는 여러 가지 방법을 제공합니다. 다음은 몇 가지 접근 방식입니다.
1. 물리적 프로세서:
이 방법은 설치된 물리적 프로세서 수를 계산합니다.
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get()) { Console.WriteLine($"Number of Physical Processors: {item["NumberOfProcessors"]}"); }
2. 프로세서당 코어 수:
이 접근 방식은 모든 프로세서의 코어 수를 합산합니다.
int totalCores = 0; foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get()) { totalCores += int.Parse(item["NumberOfCores"].ToString()); } Console.WriteLine($"Total Number of Cores: {totalCores}");
3. 논리 프로세서:
이것은 총 논리 프로세서 수(하이퍼스레딩 포함)에 직접 액세스합니다.
Console.WriteLine($"Number of Logical Processors: {Environment.ProcessorCount}");
4. 프로세서(Windows에 숨겨진 프로세서 제외):
이 방법은 표준 Windows 보고에서 제외될 수 있는 프로세서를 설명합니다. 설정 API를 사용해야 합니다.
int processorCount = 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)) { processorCount = deviceNumber; break; } } } finally { if (deviceList != IntPtr.Zero) { SetupDiDestroyDeviceInfoList(deviceList); } } Console.WriteLine($"Number of Cores (including hidden): {processorCount}");
중요 고려 사항:
System.Management.dll
에 대한 참조를 추가하는 것을 잊지 마세요.위 내용은 .NET/C#에서 CPU 코어 수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!