码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-03-04 17:18:45      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:特定   避免   运行时   www.   blog   初始   iss   oid   bsp   

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

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

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

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

 

 

怎么避免:加锁解锁。

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

标签:特定   避免   运行时   www.   blog   初始   iss   oid   bsp   

原文地址:https://www.cnblogs.com/westlife-11358/p/10471697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!