shared_ptr的引用次数加减操作内部自动加锁解锁,是线程安全的。但是指向对象的指针不是线程安全的
一、使用智能指针访问资源不是线程安全的,需要手动加锁解锁
二、智能指针的拷贝也不是线程安全的
智能指针的赋值拷贝,
首先拷贝指向对象的指针,
再使引用次数加减操作,虽然引用次数加减是原子操作,
但是指针拷贝和引用次数两步操作
并不是原子操作,线程不安全,
需要手动加锁解锁
shared_ptr的引用次数加减操作内部自动加锁解锁,是线程安全的。但是指向对象的指针不是线程安全的
一、使用智能指针访问资源不是线程安全的,需要手动加锁解锁
二、智能指针的拷贝也不是线程安全的
智能指针的赋值拷贝,
首先拷贝指向对象的指针,
再使引用次数加减操作,虽然引用次数加减是原子操作,
但是指针拷贝和引用次数两步操作
并不是原子操作,线程不安全,
需要手动加锁解锁