【发布时间】:2015-10-01 04:08:37
【问题描述】:
基本上一个map不能被两个不同的线程同时添加/删除,所以需要同步。
而且我知道 c++ 中的线程本地存储概念是线程安全的,可以被许多线程访问。
std::map<int,int> * pTemp= (std::map<int,int> *) TlsGetValue(sTlsIndex);
if (pTemp== NULL)
{
pTemp= new std::map<int,int>;
TlsSetValue(sTlsIndex, pTemp);
}
如果我将地图放在 TLS 中并从不同的子线程添加/删除/修改地图访问它,那么它应该同步吗?
由于 TLS 已经同步并且我的地图在其中。
【问题讨论】:
标签: c++ multithreading dictionary thread-local-storage