Maison >développement back-end >C++ >Comment puis-je détecter le nombre de cœurs de processeur dans différents langages et environnements de programmation ?
Détection du nombre de cœurs de processeur dans divers environnements de programmation
Introduction
Détermination du nombre Le nombre de cœurs sur une machine est un aspect crucial pour optimiser les performances du code et l’allocation des ressources. Bien qu'il n'existe pas de solution universelle sur toutes les plates-formes, des méthodes spécifiques à chaque plate-forme sont disponibles.
C 11 et versions ultérieures
C 11 introduit std::thread:: Fonction hardware_concurrency(), fournissant un moyen standardisé de récupérer le nombre de threads matériels. Cette méthode est recommandée pour la compatibilité multiplateforme.
#include <thread> const auto processor_count = std::thread::hardware_concurrency();
Alternative pré-C 11
Avant C 11, les méthodes spécifiques à la plateforme sont requis.
Win32 :
SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); int numCPU = sysinfo.dwNumberOfProcessors;
Linux, Solaris, AIX, Mac OS X :
int numCPU = sysconf(_SC_NPROCESSORS_ONLN);
FreeBSD, MacOS X, NetBSD :
int numCPU; ... sysctl(mib, 2, &numCPU, &len, NULL, 0);
Objective-C pour Mac OS X et iOS
Objective-C propose un approche simple :
NSUInteger processorCount = [[NSProcessInfo processInfo] processorCount];
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!