首頁 > 後端開發 > C++ > 主體

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

Linda Hamilton
發布: 2024-10-27 17:59:01
原創
120 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!