首頁  >  文章  >  後端開發  >  為什麼 Windows 10 在執行簡單程式時會建立額外的執行緒?

為什麼 Windows 10 在執行簡單程式時會建立額外的執行緒?

Susan Sarandon
Susan Sarandon原創
2024-10-26 12:19:29990瀏覽

Why Does Windows 10 Create Additional Threads When Running a Simple Program?

辨識 Windows 10 中附加執行緒的來源

儘管使用單一主執行緒的測試程式很簡單,但 Windows 10 意外啟動了多個附加執行緒。這個問題提出了誰或如何啟動這些線程的問題。

辨識執行緒

偵錯>視窗>執行緒視窗顯示了這些執行緒在 ntdll.dll!TppWorkerThread 中的存在。這些是線程池線程,從在 TppWorkerThread() 函數上設定斷點可以明顯看出。

根本原因:DLL 載入

第一個執行緒池的堆疊追蹤當第二個執行緒池執行緒開始執行時,表示載入程式正在呼叫執行緒池來載入DLL。這是與 Windows 7 相比的顯著變化,在 Windows 7 中,DLL 的載入不使用執行緒池。

Windows 10 最佳化

Windows 10 利用多重核心來加速進程初始化用於DLL載入的執行緒池。這種並發機制提高了效能,並且不被視為錯誤,而是一種利用現代硬體功能的功能。

以上是為什麼 Windows 10 在執行簡單程式時會建立額外的執行緒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn