全局静态变量析构和线程结束先后顺序问题

梦想游戏人
目录:
C/C++

主线程main退出后 全局变量mutex 没有在 子线程销毁后销毁(析构)

问题:主线程main退出后 detach后的子线程(C RT托管)和 全局静态变量(生命周期CRT托管)析构 的先后问题。

翻了一遍CRT源码,,没找到 他们先后关系 ,

但是这里的示例给出的答案是 main函数return后 detach了的子线程的结束在全局静态变量析构后

吐槽:为什么会是这个顺序 CRT的设计者不会没考虑过这种情况吧?

全局静态变量并不属于某个thread所有 为了方式出错也应该所有thread被结束后才析构(销毁)全局静态变量

Scroll Up