首頁  >  文章  >  後端開發  >  為什麼 Windows 10 上的簡單 C 程式中有額外的執行緒?

為什麼 Windows 10 上的簡單 C 程式中有額外的執行緒?

Linda Hamilton
Linda Hamilton原創
2024-10-27 17:59:01121瀏覽

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

Windows 10 執行緒池的實際應用

為什麼 Windows 10 在表面上簡單的 C 程式中引入額外的執行緒?當比較此類程式在 Windows 7 和 Windows 10 上的行為時,就會出現這個問題。雖然 Windows 7 在偵錯器中僅顯示一個線程,但 Windows 10 顯示五個線程,其中包括四個「工作線程」。

關鍵要理解這種現象,就在於 Windows 10 上載入程式 ntdll.dll 的作用。透過在線程池線程的入口點 TppWorkerThread() 函數上設定斷點,我們可以捕獲第一個線程池的堆疊追蹤正在建立線程。

堆疊追蹤顯示載入器正在利用執行緒池在 Windows 10 上載入 DLL。這種並發性允許 Windows 10 利用多核心,從而加快進程初始化速度。

因此,Windows 10 上的簡單 C 程式中看到的附加執行緒是載入程式最佳化技術的副產品。此行為旨在增強效能,可歸因於 Windows 10 在資源管理方面的進步。

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

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