Tentukan bilangan teras CPU dalam .NET/C#
Pengenalan:
Menentukan bilangan teras CPU adalah penting untuk mengoptimumkan prestasi kod dan memanfaatkan keupayaan perkakasan. .NET dan C# menyediakan beberapa teknik untuk mendapatkan maklumat ini.
Pemproses dan Teras:
Istilah berkaitan pemproses adalah seperti berikut:
Nilai ini mungkin berbeza-beza, terutamanya pada sistem dengan pemproses berbilang teras dan hyper-threading.
Cari bilangan teras:
Pemproses fizikal:
Untuk menentukan bilangan pemproses fizikal, gunakan kod berikut:
<code class="language-csharp">foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get()) { Console.WriteLine("物理处理器数量:{0}", item["NumberOfProcessors"]); }</code>
Teras:
Untuk mendapatkan bilangan teras, gunakan kod berikut:
<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>
Pemproses Logik:
Kelas System.Environment membenarkan akses terus kepada bilangan pemproses logik:
<code class="language-csharp">Console.WriteLine("逻辑处理器数量:{0}", Environment.ProcessorCount);</code>
Nota: Ingat untuk memasukkan rujukan kepada System.Management.dll dalam projek anda.
Kecualikan pemproses dalam Windows:
Adalah mungkin untuk menemui pemproses yang telah dikecualikan oleh Windows menggunakan API Windows, contohnya melalui tetapan but:
<code class="language-csharp">static void Main(string[] args) { int deviceCount = 0; IntPtr deviceList = IntPtr.Zero; // ... (代码省略) }</code>
Kaedah ini memberikan penerangan yang lebih komprehensif tentang jumlah bilangan pemproses yang terdapat dalam sistem.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Bilangan Pemproses Fizikal, Teras dan Logik dalam .NET/C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!