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

如何在取消工作线程中的操作时防止内存泄漏?

如何解决《如何在取消工作线程中的操作时防止内存泄漏?》经验,为你挑选了1个好方法。

目前我正在开发一个包含数学分析的桌面应用程序.我使用qt进行GUI和用c ++编写的项目.当用户开始分析时,我打开一个工作线程并启动一个进度条.到目前为止一切正常,当用户取消操作时问题开始.操作很复杂,我使用了几个函数和对象,我在几个分配/解除分配内存我想知道如何在取消操作中恢复.因为可能存在内存泄漏.我应该使用哪种模式或方法来强制安全地取消操作?

我的想法是抛出异常,但操作真的很复杂,所以我应该把try-catch放到我的所有函数中,还是有更通用的方式,模式..

编辑:问题是我的对象在范围之间转移,所以shared_ptr或auto_ptr不能解决我的问题,Flag的想法可以,但我认为它需要这么多代码,应该有一个简单的方法.



1> Simon B. Jen..:

关闭工作线程的一种非常常见的方法是使用标志标记它,并让工作线程定期检查此标志.如果已标记,则应停止其工作流程,清理并退出.

在你的情况下这是否可能?

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