新的智能指针能否正确地与线程一起工作?
例如,一个线程创建了指针的副本,而另一个线程正在进程中搞乱了引用计数?
shared_ptr 引用计数是一个原子,保证由于任何竞争条件而在
shared_ptr
拥有的对象上不会出现任何生命周期问题,这仅限于生命周期问题(在释放或双重释放后使用等)。 ..)
shared_ptr
指向的对象不受并发访问保护,因此,如果您有shared_ptr<vector<int>>
,则不应在两个线程的向量上同时使用pushback
,否则可能会损坏数据或分段故障。