Heim >Backend-Entwicklung >C++ >Warum gibt es in einfachen C-Programmen unter Windows 10 zusätzliche Threads?
Der Thread-Pool von Windows 10 in Aktion
Warum führt Windows 10 zusätzliche Threads in einem scheinbar einfachen C-Programm ein? Diese Frage stellt sich, wenn man das Verhalten eines solchen Programms unter Windows 7 und Windows 10 vergleicht. Während Windows 7 im Debugger nur einen Thread anzeigt, zeigt Windows 10 fünf Threads an, darunter vier „Worker-Threads“.
Der Schlüssel Das Verständnis dieses Phänomens liegt in der Rolle des Loaders ntdll.dll unter Windows 10. Durch das Setzen eines Haltepunkts für die TppWorkerThread()-Funktion, den Einstiegspunkt für Thread-Pool-Threads, können wir den Stack-Trace des ersten Threadpools erfassen Thread wird erstellt.
Der Stack-Trace zeigt, dass der Loader den Threadpool verwendet, um DLLs unter Windows 10 zu laden. Diese Parallelität ermöglicht es Windows 10, die Vorteile mehrerer Kerne zu nutzen, was zu einer schnelleren Prozessinitialisierung führt.
Daher sind die zusätzlichen Threads, die in einem einfachen C-Programm unter Windows 10 zu sehen sind, ein Nebenprodukt der Optimierungstechniken des Loaders. Dieses Verhalten soll die Leistung verbessern und kann auf die Fortschritte von Windows 10 bei der Ressourcenverwaltung zurückgeführt werden.
Das obige ist der detaillierte Inhalt vonWarum gibt es in einfachen C-Programmen unter Windows 10 zusätzliche Threads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!