> 백엔드 개발 > C++ > 내 .NET/C# 애플리케이션의 CPU 코어 수를 어떻게 확인할 수 있습니까?

내 .NET/C# 애플리케이션의 CPU 코어 수를 어떻게 확인할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-18 19:57:09
원래의
906명이 탐색했습니다.

How Can I Determine the Number of CPU Cores in My .NET/C# Application?

.NET/C#에서 CPU 코어 수 결정

.NET/C# 애플리케이션의 리소스 활용도를 최적화하려면 사용 가능한 CPU 코어 수를 이해하는 것이 중요합니다. 이 기사에서는 개발자가 멀티스레딩 및 성능 최적화에 대해 현명한 결정을 내릴 수 있도록 이 정보를 검색하는 여러 가지 방법을 살펴봅니다.

물리적 프로세서, 코어 및 논리 프로세서

물리적 프로세서, 코어, 논리 프로세서의 수를 구별하는 것이 중요합니다. 물리적 프로세서는 실제 하드웨어 장치를 나타내고, 코어는 프로세서 내의 단일 실행 장치를 나타냅니다. 논리 프로세서는 코어의 가상화된 표현으로, 운영 체제가 스레드를 별도의 엔터티로 표시하여 스레드를 보다 효율적으로 예약할 수 있도록 합니다.

코어 개수 조회

.NET/C#에서는 CPU 코어 수를 검색하는 여러 가지 방법이 있습니다.

논리 프로세서(환경 등급)

Environment 클래스는 논리 프로세서 수에 대한 액세스를 제공합니다.

Console.WriteLine("逻辑处理器数量:{0}", Environment.ProcessorCount);
로그인 후 복사

코어(WMI)

WMI(Windows Management Instrumentation)를 사용하면 코어 수를 검색할 수 있습니다.

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);
로그인 후 복사

물리적 프로세서(WMI)

.NET Core에서는 WMI를 사용하여 물리적 프로세서 수를 얻을 수 있습니다.

foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
    Console.WriteLine("物理处理器数量:{0}", item["NumberOfProcessors"]);
}
로그인 후 복사

Windows에서 제외되는 프로세서(Windows API)

setupapi.dll의 Windows API 호출을 통해 Windows에서 제외된 프로세서를 검색할 수 있습니다.

static void Main(string[] args)
{
    int deviceCount = 0;
    IntPtr deviceList = IntPtr.Zero;
    // 处理器类ID的GUID
    Guid processorGuid = new Guid("{50127dc3-0f36-415e-a6cc-4cb3be910b65}");
    ...
    Console.WriteLine("核心数量:{0}", deviceCount);
}
로그인 후 복사

요약

이 문서에서는 .NET/C#에서 CPU 코어 수를 검색하는 여러 가지 방법을 보여줍니다. 이러한 기술을 이해함으로써 개발자는 리소스 활용도를 최적화하고 스레드 작업 부하의 균형을 맞추고 애플리케이션 성능을 향상시킬 수 있습니다.

위 내용은 내 .NET/C# 애플리케이션의 CPU 코어 수를 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿