社区
进程/线程/DLL
帖子详情
子线程的内存泄漏问题?
bluemouse_1982
2004-04-03 09:04:16
在子线程中:
....
LPTSTR buf = new TCHAR[255];
//将子线程挂起一段时间,若在这段时间内关闭窗口(即结束主线程),
//将不会执行以下语句以释放资源
delete [] buf;
....
由于无法执行delete,产生了内存泄漏,该如何解决呢?
...全文
120
11
打赏
收藏
子线程的内存泄漏问题?
在子线程中: .... LPTSTR buf = new TCHAR[255]; //将子线程挂起一段时间,若在这段时间内关闭窗口(即结束主线程), //将不会执行以下语句以释放资源 delete [] buf; .... 由于无法执行delete,产生了内存泄漏,该如何解决呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
QT
子
线程
更新主
线程
- 使用`QSharedPointer`或`QWeakPointer`来共享数据,防止
内存泄漏
和意外的引用计数增加。 - 通过`QMutex`或`QReadWriteLock`进行同步,保护共享数据的安全访问。 7. **
线程
生命周期管理**: - 避免在
子
线程
中...
android
子
线程
URL加载网络图片
- 自定义图片加载库时,需考虑
线程
池管理、
内存泄漏
预防、异步加载策略等
问题
。 8. **内存管理**: - 图片加载过程中要注意内存管理,防止OOM(Out Of Memory)异常。合理使用软引用和弱引用,以及根据屏幕尺寸和...
MFC中解决
子
线程
中打开非模态对话框
内存泄漏
实例(VC++2008)
子
线程
中打开非模式对话框
内存泄漏
问题
这个
问题
困扰已久 网上没有完整的解决方案;现将实例源代码分享给大家 希望对您有帮助 (代码是VS2008下编写的)
问题
原因: 对话框的默认关闭方式模式对话框关闭 而现在是...
QT多
线程
编程、主
线程
与
子
线程
交互数据
最后,考虑到内存管理和
线程
同步,使用智能指针如`QSharedPointer`或`QWeakPointer`可以防止
内存泄漏
,并使用`QMutex`、`QWaitCondition`等同步工具确保
线程
间的正确同步,避免竞态条件。 总之,QT5+VS2017的组合...
android主
线程
、
子
线程
及
线程
间通信方式测试app
但是,由于
内存泄漏
和
线程
池的限制,不建议在大型项目中频繁使用。 - **Timer**:用于调度周期性任务,通常与TimerTask配合使用,但并不推荐在Android中使用,因为有更好的替代品如ScheduledExecutorService。 3. ...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章