C ++,是否由多个线程执行静态初始化?

时间:2014-04-23 15:06:25

标签: c++ multithreading

在C ++中,我是否必须担心在静态初始化期间操作对象的多个线程,或者它是否保证由单个线程执行?

2 个答案:

答案 0 :(得分:2)

对于全局范围的static变量,是。

对于本地static(在函数内部声明),此保证仅在C ++ 11及之后保留。

答案 1 :(得分:0)

一点需要注意:您的任何全局范围的静态对象是否会从其构造函数中生成线程?如果是这样,那些线程将在静态初始化期间运行。