当前位置:   article > 正文

4、 C++函数内的静态变量初始化以及线程安全问题

c++函数内的静态变量初始化以及线程安全问题

原文:https://www.cnblogs.com/zxjan/p/3538911.html

1. 如果是编译时和加载时初始化, 是不会存在线程安全这个issue的;  

       因为这两种初始化一定发生在Main函数执行之前, 这个时候尚未进入程序运行空间; 而这些初始化一定是在单线程环境下操作的!  --  都是在执行C Runtime的startup代码中的void mainCRTStartup(void)函数时所在的OS系统加载程序时的主线程空间上发生的!

2. 如果是运行时初始化, 因为无法保证访问这个静态变量所在的局部函数/全局函数/类成员函数/类静态成员函数  一定只会从某个特定的线程中被访问, 因此, 就一定会存在"线程安全"的issue!

 

 

怎么避免:加锁解锁。

转载于:https://www.cnblogs.com/westlife-11358/p/10471697.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/336488
推荐阅读
相关标签
  

闽ICP备14008679号