救助线程中释放内存的问题

JasonCharlesBourne 2013-10-11 10:32:56
我在主线程中产生一个工作线程来进行文件导入功能,文件导入功能中会new出许多内存。当启动文件导入线程后我不想导入文件了,就通过主线程立刻把文件导入线程杀掉,问一下这时候导入线程中new出来的内存怎么清除掉?
...全文
480 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ColdMooon 2013-11-04
  • 打赏
  • 举报
回复
杀掉? 永远不要调用TerminateThread. 不止是线程栈泄露,还有很多莫名其妙的线程同步问题. 用标志变量或事件或消息让线程自己退出,自己清理.
lijianli9 2013-10-27
  • 打赏
  • 举报
回复
你强制关闭线程,c++的对象,应该不会自动调用析构函数的,在你强制退出后,用delete 释放保存new出来的指针。
红色代码 2013-10-26
  • 打赏
  • 举报
回复
4楼和5楼的方法就是我想说的。。利用局部变量超过函数作用域自动析构的功能
modyaj 2013-10-11
  • 打赏
  • 举报
回复
导入线程中使用的资源封装成类 实现其析构函数释放内存 利用C++的方式退出导入线程 这样他会自动调用析构函数释放!
真相重于对错 2013-10-11
  • 打赏
  • 举报
回复
导入线程退出前杀
傻X 2013-10-11
  • 打赏
  • 举报
回复
4楼得方法就是我想说的。。自动调用析构类来Delete,这样控制起来最方便
过客_匆匆 2013-10-11
  • 打赏
  • 举报
回复
可以使用类对象在出作用域之后会调用析构函数的技巧来解决这个问题
oyljerry 2013-10-11
  • 打赏
  • 举报
回复
线程结束前 delete释放对应的内存

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧