c++ - 启动 C++ 程序后运行多少个后台线程
问题描述
我使用了 unordered_map 并在我的 C++ 程序中启动了 3 个工作线程。但是当我使用 gdb 运行我的代码时,我经常发现以下 GDB 调试信息并且不断出现:
[New Thread 0x2aaac3dc6700 (LWP 4709)]
[Thread 0x2aaac3dc6700 (LWP 4709) exited]
[New Thread 0x2aaac3dc6700 (LWP 4710)]
[Thread 0x2aaac3dc6700 (LWP 4710) exited]
[New Thread 0x2aaac3dc6700 (LWP 4711)]
[Thread 0x2aaac3dc6700 (LWP 4711) exited]
.....................
怎么会创建和快速销毁这么多线程,是否有后台线程用于对过时对象进行垃圾收集(就像 Java 一样),我怀疑 unordered_map 对象是否导致这么多线程为它清理。
解决方案
推荐阅读
- r - R中的列对之间的操作
- node.js - 无法 POST / 使用 express 和 body-parser
- excel - 如何通过power query提取多个网站中的多个表
- c# - DotNetZip如何在解压后删除文件
- swift - UIImageView 背景图像上的视差 UIScrollview
- apache-kudu - 使用部分主键来改进 KUDU 中的搜索
- r - 如何在 R 语言中用方括号包装 JSON?
- javascript - 从匹配键的数组返回对象:嵌套在我需要返回的对象中的对象的值对
- excel - 在 Excel 中看不到 xlsxwriter 生成的图表
- r - 如何按多列对数据框进行排序,每列的方向不同?