首页  >  文章  >  后端开发  >  为什么 Windows 10 在运行简单程序时会创建额外的线程?

为什么 Windows 10 在运行简单程序时会创建额外的线程?

Susan Sarandon
Susan Sarandon原创
2024-10-26 12:19:29946浏览

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