当前位置:  开发笔记 > 编程语言 > 正文

析构函数与成员函数竞争

如何解决《析构函数与成员函数竞争》经验,为你挑选了2个好方法。

当我在析构函数内部时,其他一些线程可能会开始执行对象的成员函数吗?如何应对这种情况?



1> Douglas Leed..:

C++没有内部保护来防止在删除对象后使用它 - 忘记竞争条件 - 另一个线程可以在完全删除后使用你的对象.

或者:

    确保代码中只有一个位置拥有该对象,并且当没有人使用该对象时,它负责删除.

    通过添加显式引用计数代码或查找实现引用计数的适当基类来对对象引用进行计数



2> DJClayworth..:

你不应该破坏一个对象,除非你确定没有别的东西会试图使用它 - 理想情况下没有别的东西可以引用它.当您调用delete时,您需要更仔细地查看.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有