Maison >développement back-end >C++ >Pourquoi mon programme Simple C dans Windows 10 génère-t-il plusieurs threads ?

Pourquoi mon programme Simple C dans Windows 10 génère-t-il plusieurs threads ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 12:16:01673parcourir

 Why Does My Simple C   Program in Windows 10 Spawn Multiple Threads?

Plusieurs threads émergent dans les programmes C de Windows 10 : découverte de la source

Dans Visual Studio 2015, un simple programme C contient initialement un seul thread . Cependant, lorsqu'il est exécuté sur Windows 10, il révèle étonnamment quatre threads supplémentaires. La question se pose : qui initialise ce pool de threads ?

Identifier l'origine du pool de threads

En utilisant l'outil Debug > Windows > Fenêtre Threads avec Microsoft Symbol Server activé, le point d'entrée du thread est révélé comme TppWorkerThread dans ntdll.dll. Cela conduit à la conclusion que Windows 10 utilise le pool de threads pour optimiser le chargement des DLL.

Une trace de pile dévoile le processus

Un point d'arrêt défini en temps opportun sur TppWorkerThread capture un trace de pile, qui indique que le chargeur utilise le pool de threads pour charger les DLL. Notamment, le thread principal est également actif au sein du chargeur, démontrant la capacité du système à distribuer des tâches simultanément.

Une fonctionnalité, pas un bug

Ce comportement dans Windows 10 suggère que le système exploite les cœurs disponibles pour accélérer le processus d'initialisation du processus. Par conséquent, l’apparition de threads supplémentaires n’est pas une préoccupation mais plutôt une amélioration bénéfique qui exploite plus efficacement les ressources informatiques du 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn