>백엔드 개발 >C++ >.NET/C#에서 물리적, 코어 및 논리 프로세서의 수를 어떻게 확인할 수 있습니까?

.NET/C#에서 물리적, 코어 및 논리 프로세서의 수를 어떻게 확인할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-18 20:01:12435검색

How Can I Determine the Number of Physical, Core, and Logical Processors in .NET/C#?

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

소개:

코드 성능을 최적화하고 하드웨어 기능을 활용하려면 CPU 코어 수를 결정하는 것이 중요합니다. .NET 및 C#은 이 정보를 얻기 위한 여러 기술을 제공합니다.

프로세서 및 코어:

프로세서 관련 용어는 다음과 같습니다.

  • 물리적 프로세서: 시스템에 존재하는 실제 CPU 칩입니다.
  • 코어: 물리적 프로세서 내의 단일 처리 장치입니다.
  • 논리 프로세서: 운영 체제에서 사용할 수 있는 총 가상 프로세서 수입니다.

이러한 값은 특히 멀티 코어 프로세서와 하이퍼스레딩이 탑재된 시스템에서 다를 수 있습니다.

코어 수 찾기:

물리적 프로세서:

물리적 프로세서 수를 확인하려면 다음 코드를 사용하세요.

<code class="language-csharp">foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
    Console.WriteLine("物理处理器数量:{0}", item["NumberOfProcessors"]);
}</code>

핵심:

코어 수를 얻으려면 다음 코드를 사용하세요.

<code class="language-csharp">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);</code>

논리 프로세서:

System.Environment 클래스를 사용하면 논리 프로세서 수에 직접 액세스할 수 있습니다.

<code class="language-csharp">Console.WriteLine("逻辑处理器数量:{0}", Environment.ProcessorCount);</code>

참고: 프로젝트에 System.Management.dll에 대한 참조를 포함해야 합니다.

Windows에서 프로세서 제외:

Windows API를 사용하여(예: 부팅 설정을 통해) Windows에서 제외된 프로세서를 검색할 수 있습니다.

<code class="language-csharp">static void Main(string[] args)
{
    int deviceCount = 0;
    IntPtr deviceList = IntPtr.Zero;
    // ... (代码省略)
}</code>

이 방법은 시스템에 있는 총 프로세서 수에 대한 보다 포괄적인 설명을 제공합니다.

위 내용은 .NET/C#에서 물리적, 코어 및 논리 프로세서의 수를 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.