静态库中的thread_local静态volatile变量会发生什么?

时间:2016-08-02 18:26:39

标签: c++ multithreading

我有一个静态库,它具有如下函数:

bool CreateObject(Object*& Out_Object)
{
   thread_local static volatile Object obj = {};
   InitializeObject(&obj);
   if(obj.IsValid())
   {
     Out_Object = &obj;
     return(true);
   }
   return(false);
}

我希望这个函数通过初始化对象并返回它来为每个调用它的线程管理一个特定于线程的对象。

这里obj的内存会发生什么,它位于本地线程存储中还是其他地方,这有点安全吗?

编辑:安全的,我的意思是'这里有什么潜在的问题,我没有看到?'

0 个答案:

没有答案