首頁  >  文章  >  後端開發  >  為什麼 Windows 10 中的簡單 C 程式會產生多個執行緒?

為什麼 Windows 10 中的簡單 C 程式會產生多個執行緒?

Patricia Arquette
Patricia Arquette原創
2024-10-28 12:16:01594瀏覽

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

Windows 10 C 程序中出現多線程:揭開源頭

在Visual Studio 2015 中,一個簡單的C 程序最初包含一個線程。然而,當在 Windows 10 上執行時,它令人驚訝地顯示出四個額外的執行緒。問題出現了:誰初始化了這個執行緒池?

辨識執行緒池起源

透過使用Debug >

視窗>啟用Microsoft Symbol Server 的執行緒窗口,執行緒入口點在ntdll .dll 中顯示為TppWorkerThread。由此得出的結論是,Windows 10 正在利用執行緒池來最佳化 DLL 載入。

堆疊追蹤揭示進程

在 TppWorkerThread 上設定的及時斷點捕獲了堆疊追蹤,表明載入程式使用執行緒池來載入 DLL。值得注意的是,主執行緒在載入程式中也處於活動狀態,這證明了系統並發分配任務的能力。

是功能,不是錯誤

Windows 10 中的此行為表明系統正在利用可用核心來加速進程初始化過程。因此,額外執行緒的出現並不是一個問題,而是一種有益的增強,可以更有效地利用系統的運算資源。

以上是為什麼 Windows 10 中的簡單 C 程式會產生多個執行緒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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