Maison >développement back-end >C++ >Pourquoi y a-t-il des threads supplémentaires dans les programmes Simple C sous Windows 10 ?
Le pool de threads de Windows 10 en action
Pourquoi Windows 10 introduit-il des threads supplémentaires dans un programme C apparemment simple ? Cette question se pose lorsque l'on compare le comportement d'un tel programme sous Windows 7 et Windows 10. Alors que Windows 7 n'affiche qu'un seul thread dans le débogueur, Windows 10 affiche cinq threads, dont quatre « threads de travail ».
La clé La compréhension de ce phénomène réside dans le rôle du chargeur, ntdll.dll, sous Windows 10. En définissant un point d'arrêt sur la fonction TppWorkerThread(), le point d'entrée des threads du pool de threads, nous pouvons capturer la trace de pile du premier pool de threads. thread en cours de création.
La trace de la pile révèle que le chargeur utilise le pool de threads pour charger les DLL sur Windows 10. Cette concurrence permet à Windows 10 de tirer parti de plusieurs cœurs, ce qui accélère l'initialisation du processus.
Par conséquent, les threads supplémentaires observés dans un simple programme C sous Windows 10 sont un sous-produit des techniques d'optimisation du chargeur. Ce comportement est destiné à améliorer les performances et peut être attribué aux progrès de Windows 10 en matière de gestion des ressources.
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!