c++局部静态变量是线程安全的
mark一下。
c++11之前,局部静态变量初始化并不是线程安全的。
c++11之后,当局部静态在初始化的过程中,有新的获取,会阻塞等待初始化成功。
class Instance
{
public:
//...
static GetInstace()
{
static Instance instance;
return instance;
}
};
new ,理论上应该也是可以的,因为是先 new 然后赋值给 static 变量, static 赋值成功,代表 static 变量初始化成功。