这里的智能指针单指shared_ptr
shared_ptr对象提供与内置类型相同级别的线程安全性:
1.同一个shared_ptr对象可以被多个线程同时读;
2.不同的shared_ptr对象可以被多个线程同时修改,即使这些shared_ptr对象管理着同一个对象的指针.
3.任何其他并发访问的结果都是无定义的.
shared_ptr线程安全性分析