Maison >développement back-end >C++ >Comment puis-je déterminer le nombre de processeurs physiques, principaux et logiques dans .NET/C# ?
Déterminer le nombre de cœurs de processeur dans .NET/C#
Introduction :
La détermination du nombre de cœurs de processeur est essentielle pour optimiser les performances du code et exploiter les capacités matérielles. .NET et C# proposent plusieurs techniques pour obtenir ces informations.
Processeur et cœurs :
Les termes liés au processeur sont les suivants :
Ces valeurs peuvent varier, notamment sur les systèmes dotés de processeurs multicœurs et d'hyper-threading.
Trouver le nombre de cœurs :
Processeur physique :
Pour déterminer le nombre de processeurs physiques, utilisez le code suivant :
<code class="language-csharp">foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get()) { Console.WriteLine("物理处理器数量:{0}", item["NumberOfProcessors"]); }</code>
Noyau :
Pour obtenir le nombre de cœurs, utilisez le code suivant :
<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>
Processeur logique :
La classe System.Environment permet un accès direct au nombre de processeurs logiques :
<code class="language-csharp">Console.WriteLine("逻辑处理器数量:{0}", Environment.ProcessorCount);</code>
Remarque : N'oubliez pas d'inclure une référence à System.Management.dll dans votre projet.
Exclure les processeurs sous Windows :
Il est possible de découvrir les processeurs qui ont été exclus par Windows grâce à l'API Windows, par exemple via les paramètres de démarrage :
<code class="language-csharp">static void Main(string[] args) { int deviceCount = 0; IntPtr deviceList = IntPtr.Zero; // ... (代码省略) }</code>
Cette méthode fournit une description plus complète du nombre total de processeurs présents dans le système.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!