c++ - 为什么 C++ 应用程序默认启动三个线程?
问题描述
有一个空的 Windows 控制台 C++ 应用程序。在我看来,一个进程默认会启动一个线程,但在调试时它会显示三个线程。程序如下:
int main() {
return 0;
}
调试信息是:
解决方案
ntdll.dll
线程实际上是从您链接的库启动的操作系统线程。您的所有代码都在线程 16472 上运行。
通常这些线程池工作者为您的应用程序加载其他动态库。Windows 10 正在通过利用多个 CPU 内核更快地初始化来优化进程启动。
推荐阅读
- angular - 将一个组件的点击事件绑定到另一个组件
- javascript - 自定义 php 文件中的 PHP do_shortcode
- elasticsearch - Elasticsearch 将一个数组与另一个数组匹配
- apache-kafka - 使用 Kafka 进行模拟单元测试 - 回调模拟生产者
- r - 如何根据使用 dplyr 的条件按组查找最小值?
- remote-access - 远程访问设置:网络位置服务器证书的主题名称未正确解析
- amazon-web-services - 元数据库内容安全策略 - 负载均衡器、CloudFront、Route53
- javascript - 如何获得用户的系统配色方案偏好?
- flutter - 无法访问提供者的数据
- facebook - 提供 og:image URL,image.png 无效,因为它不满足 200px x 200px 的最小尺寸限制