.NET/C# の CPU コアの数を決定する
紹介:
CPU コアの数を決定することは、コードのパフォーマンスを最適化し、ハードウェア機能を活用するために重要です。 .NET と C# では、この情報を取得するためのいくつかの手法が提供されています。
プロセッサーとコア:
プロセッサ関連の用語は次のとおりです:
これらの値は、特にマルチコアプロセッサとハイパースレッディングを備えたシステムでは異なる場合があります。
コアの数を見つけます:
物理プロセッサ:
物理プロセッサの数を確認するには、次のコードを使用します:
<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 中国語 Web サイトの他の関連記事を参照してください。