[英]Lock/CriticalSection vs volatile in c++ for visibility
我有一个可以通过多个线程更新的地图。 还有一个关键部分,保护对地图的读/写。
CCriticalSection mapCS;
map<string, string> mFileNameToInstance;
每次访问地图时,我都使用单锁。
CSingleLock lock(&mapCS);
lock.Lock();
// perform whatever reads/write with the map.
mFileNameToInstance.insert("a", "b");
lock.Unlock();
我的问题是
您无需将映射声明为volatile
, CCriticalSection
处理所需的所有并发阻止要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.