NoS*_*tAl 11 c++ atomic shared-ptr c++11
我有一个问题,理解为什么shared_ptr使用原子CPU指令...我无法弄清楚原因,因为它不是线程安全的.有人可以解释一下.
如果你想知道我是如何知道它使用原子intstuructions:有一个来自C++的剪辑,除了Herb和Andrei谈论它之外,但他们从未提及为什么会这样.
wal*_*lyk 15
任何实例shared_ptr都是多线程安全的.它指向的数据不是多线程安全的.看到这个.
如果正确应用原子指令(通过竞争线程访问以相同顺序完成保护)是实现线程安全的一种方法.另一种方法是使用互斥体.
查看BOOST的类似问题: boost shared_ptr xxx线程是否安全?