2015-08-24 33 views

回答

1

是的,它是线程安全的。引用计数(增量/减量)发生在常量合格的成员(例如复制构造的来源)下,并且第17章的措辞有效地表明“同时const访问应该是线程安全的”。

2

如果您有两个线程,每个线程都有一个shared_ptr指向同一对象,那么涉及shared_ptr引用计数的那些线程操作将是原子操作。例如,如果两个线程同时销毁它们的shared_ptr并且不存在其他对该对象的引用,则其中一个线程将销毁该对象。

当然,通过shared_ptr不会对对象本身进行线程安全操作。如果两个线程都访问相同的shared_ptr(而不是shared_ptr到相同的对象),则该访问不会自动成为线程安全的。

相关问题