社区
进程/线程/DLL
帖子详情
子线程的内存泄漏问题?
bluemouse_1982
2004-04-03 09:04:16
在子线程中:
....
LPTSTR buf = new TCHAR[255];
//将子线程挂起一段时间,若在这段时间内关闭窗口(即结束主线程),
//将不会执行以下语句以释放资源
delete [] buf;
....
由于无法执行delete,产生了内存泄漏,该如何解决呢?
...全文
183
11
打赏
收藏
子线程的内存泄漏问题?
在子线程中: .... LPTSTR buf = new TCHAR[255]; //将子线程挂起一段时间,若在这段时间内关闭窗口(即结束主线程), //将不会执行以下语句以释放资源 delete [] buf; .... 由于无法执行delete,产生了内存泄漏,该如何解决呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windfighter
2004-04-06
打赏
举报
回复
这个问题我也遇到过,主要是在写一些扫描程序的时候遇到,一般情况下我等待子线程自动结束后才能关闭窗体,如果不想等待就只有强行退出,这个时候就会有内存泄漏。我觉得发消息通知线程自己结束比较好,可以设一个数组保存线程句柄~线程结束的时候从数组中删掉,产生线程的时候加句柄到数组中,这样数组中就只有正在运行的线程,退出的时候给数组中的所有线程发退出消息。
可能有点麻烦,没有试过
cryptonym
2004-04-06
打赏
举报
回复
就是呀,我觉得new的不会回收吧。gz
bluemouse_1982
2004-04-06
打赏
举报
回复
进程结束后,用new分配的内存也会回收吗?可在vc.net中却报告内存泄漏。
kof99th
2004-04-05
打赏
举报
回复
一般来讲进程结束后所有的资源都会被系统回收的.
最好还是设定一个标志,让所有子线程根据这个标志判断主线程是否退出,主线程等待子线程完成或者等待一段时间后自己退出.
wuyingwsj
2004-04-05
打赏
举报
回复
看你要做什么,主线程退出后,进程结速,进程的所有资源都会被系统收回,不会出现内存泄漏。
bluemouse_1982
2004-04-05
打赏
举报
回复
分配内存和释放内存肯定是在一个线程中。
》》GoldenSword(金错刀) :
请问线程毁掉函数是什么?
》》ultralzl(自然) :
你的方法我也考虑过,可如果有很多线程,而且事先无法得知到底会产生多少线程,即无法保存线程句柄时该怎么办?
ultralzl
2004-04-04
打赏
举报
回复
为什么不在关闭主线程时,发送一个退出消息给子线程,然后在主线程中WaitForSingleObject(子线程句柄),等待子线程退出,然后主线程再退出。
linxy2002
2004-04-04
打赏
举报
回复
学习中
zhuyanwei
2004-04-04
打赏
举报
回复
你确保分配内存和分析构内存是在同一个线程?
bitcof
2004-04-04
打赏
举报
回复
为什么不就在子线程中释放内存??
GoldenSword
2004-04-03
打赏
举报
回复
在线程毁掉函数里面delete
关于NSTimer使用的
内存泄漏
问题
之
子
线程
本文探讨在
子
线程
中使用NSTimer时遇到的
问题
,特别是
内存泄漏
与
子
线程
释放难题。通过分析runloop的开启与退出机制,提供了解决方案,包括使用runUntilDate:或runMode:beforeDate:来控制
子
线程
释放,以及如何避免dealloc中invalidate导致的死锁。
关于安卓
子
线程
执行死循环逻辑退出当前activity导致
内存泄漏
问题
本文探讨了如何通过LeakCanary工具检测安卓应用的
内存泄漏
问题
,并提供了
子
线程
中执行死循环导致Activity无法正常释放的示例代码,通过设置标志变量解决
内存泄漏
的方法。
Android
子
线程
如何创建Handler
本文详细介绍了如何在
子
线程
中正确使用Handler进行消息处理,包括解决
子
线程
Handler发送消息的
问题
,避免
内存泄漏
的方法,Message的创建机制,以及ANR机制的相关知识。
子
线程
退出导致的
内存泄漏
本文探讨了在使用pthread_cancel函数取消
线程
时遇到的
内存泄漏
问题
。详细分析了
问题
原因,即
子
线程
在被取消时未能执行到动态内存释放的部分,导致
内存泄漏
。并通过修改代码,注册额外的清理函数来解决此
问题
。
Android消息传递机制Handler完全解析之4
内存泄漏
等
问题
本文主要解析Android消息传递机制Handler的使用及
内存泄漏
问题
。介绍了在
子
线程
使用Handler前要创建Looper并让
子
线程
工作,还说明了Looper相关方法的调用规则,如不能重复调用prepare方法、loop方法要在prepare之后调用等,同时提及避免
内存泄漏
的方法。
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章