2015-08-24 37 views

回答

1

是的,它是線程安全的。引用計數(增量/減量)發生在常量合格的成員(例如複製構造的來源)下,並且第17章的措辭有效地表明「同時const訪問應該是線程安全的」。

2

如果您有兩個線程,每個線程都有一個shared_ptr指向同一對象,那麼涉及shared_ptr引用計數的那些線程操作將是原子操作。例如,如果兩個線程同時銷燬它們的shared_ptr並且不存在其他對該對象的引用,則其中一個線程將銷燬該對象。

當然,通過shared_ptr不會對對象本身進行線程安全操作。如果兩個線程都訪問相同的shared_ptr(而不是shared_ptr到相同的對象),則該訪問不會自動成爲線程安全的。

相關問題