析构函数与成员函数race [英] Destructor vs member function race
本文介绍了析构函数与成员函数race的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我在一个析构函数时,是否有可能有一些其他线程将开始执行对象的成员函数?如何处理这种情况?
When I'm inside a destructor is it possible that some other thread will start executing object's member function? How to deal with this situation?
推荐答案
C ++没有内部保护,防止在删除后使用对象 -
C++ has no intrinsic protection against using an object after it's been deleting - forget about race conditions - another thread could use your object after it's been completely deleted.
- 确保
代码只有一个地方拥有该对象,
负责在没有
使用对象时删除。 - 通过添加
显式引用计数代码来计算
对象引用,或
找到适当的基类
实现引用计数
这篇关于析构函数与成员函数race的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文