我正在阅读 http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html,一些线程安全问题仍然不清楚:
编辑:
伪代码:
// Thread I
shared_ptr<A> a (new A (1));
// Thread II
shared_ptr<A> b (a);
// Thread III
shared_ptr<A> c (a);
// Thread IV
shared_ptr<A> d (a);
d.reset (new A (10));
在线程 IV 中调用复位()会删除在第一个线程中创建的 A 类的前一个实例并用新实例替换它吗?而且在 IV 线程中调用复位()之后,其他线程将只看到新创建的对象?