Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt es in einfachen C-Programmen unter Windows 10 zusätzliche Threads?

Warum gibt es in einfachen C-Programmen unter Windows 10 zusätzliche Threads?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 17:59:01121Durchsuche

Why Are There Extra Threads in Simple C   Programs on Windows 10?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn