1. 程式人生 > >std::shared_ptr的物件是否是執行緒安全的

std::shared_ptr的物件是否是執行緒安全的

在MSDN的描述為:Multiple threads can simultaneously read and write different shared_ptr objects, even when the objects are copies that share ownership.

也就是說多個執行緒同時讀寫一個std::shared_ptr<>變數不安全。但多執行緒可以同時讀寫不同的std::shared_ptr<>變數,即使這些變數指向同一個物件。

所以如果希望在多個執行緒使用同一個物件的智慧指標,可以讓每個執行緒使用這個指標的不同副本或者使用鎖保護這個指標。