shared_ptr<void>::reset() 是无锁的吗?
Is shared_ptr<void>::reset() lock-free?
想象一下:
// SECTION A
MyClass* object = new MyClass();
std::shared_ptr<void> sharedObject;
// SECTION B (sharedObject is empty)
sharedObject.reset(object);
对于一个空的 sharedObject
,B 部分是无锁的吗?还是取决于实施?
这取决于实现。
一些建议:
- Overhead and implementation of using shared_ptr
想象一下:
// SECTION A
MyClass* object = new MyClass();
std::shared_ptr<void> sharedObject;
// SECTION B (sharedObject is empty)
sharedObject.reset(object);
对于一个空的 sharedObject
,B 部分是无锁的吗?还是取决于实施?
这取决于实现。
一些建议:
- Overhead and implementation of using shared_ptr