花狗

导航

 

线程安全概念

  • 多线程同时访问保证其逻辑正确性
  • 在多线程同时运行时,保证线程执行顺序的正确性
  • 调用该部分代码时,不需要额外的同步操作,从这些方面可以判断出标准库中如vector,list,map等都是非线程安全的。

如何避免在对象析构时可能的死锁呢

对象析构可能出现竞争情景:

  • 在对象即将析构时,如何确定当前没有其他线程引用该对象?
  • 如何保证在执行成员函数期间,对象不会被其他线程析构掉?
  • 在调用每个对象的成员函数前,如何得知对象还活着?会不会它的析构函数正好执行到一半?

shared_ptr 的线程安全

 

posted on 2021-08-19 16:42  花狗  阅读(33)  评论(0)    收藏  举报