想象如下:
// SECTION A
MyClass* object = new MyClass();
std::shared_ptr<void> sharedObject;
// SECTION B (sharedObject is empty)
sharedObject.reset(object);
对于和空, section B是否无锁?sharedObject
吗?还是取决于实现?
这取决于实现。
一些指针:
- 使用shared_ptr的开销和实现链接pthread禁用无锁shared_ptr实现