Heim >Backend-Entwicklung >C++ >Warum erzeugt mein einfaches C-Programm in Windows 10 mehrere Threads?
In Windows 10 C-Programmen tauchen mehrere Threads auf: Die Quelle aufdecken
In Visual Studio 2015 enthält ein einfaches C-Programm zunächst einen einzelnen Thread . Bei der Ausführung unter Windows 10 werden jedoch überraschenderweise vier zusätzliche Threads angezeigt. Es stellt sich die Frage: Wer initialisiert diesen Thread-Pool?
Identifizieren des Threadpool-Ursprungs
Durch die Verwendung des Debug > Windows > Im Fenster „Threads“ mit aktiviertem Microsoft Symbol Server wird der Thread-Einstiegspunkt als TppWorkerThread in ntdll.dll angezeigt. Dies führt zu der Schlussfolgerung, dass Windows 10 den Thread-Pool nutzt, um das Laden von DLLs zu optimieren.
Ein Stack-Trace enthüllt den Prozess
Ein rechtzeitiger Haltepunkt, der auf TppWorkerThread festgelegt wird, erfasst a Stack-Trace, der angibt, dass der Loader den Thread-Pool zum Laden von DLLs nutzt. Bemerkenswert ist, dass der Hauptthread auch im Loader aktiv ist, was die Fähigkeit des Systems demonstriert, Aufgaben gleichzeitig zu verteilen.
Eine Funktion, kein Fehler
Dieses Verhalten in Windows 10 deutet darauf hin, dass das System verfügbare Kerne nutzt, um den Prozessinitialisierungsprozess zu beschleunigen. Daher stellt das Auftreten zusätzlicher Threads kein Problem dar, sondern stellt vielmehr eine vorteilhafte Verbesserung dar, die die Rechenressourcen des Systems effektiver nutzt.
Das obige ist der detaillierte Inhalt vonWarum erzeugt mein einfaches C-Programm in Windows 10 mehrere Threads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!