社区
Qt
帖子详情
qt 线程 的问题
fight_flight
2010-09-29 10:57:16
线程类中重载的run函数运行结束后,是不是线程占据的内存资源会自动返还系统
...全文
239
10
打赏
收藏
qt 线程 的问题
线程类中重载的run函数运行结束后,是不是线程占据的内存资源会自动返还系统
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
swift19221
2011-08-30
打赏
举报
回复
一群菜鸟,
线程管理类和线程都没有分清楚!
还记得MFC的类吗? 与此类似。
一个MFC的类可能管理了一个GUI资源,比如窗口
当这个类析构的时候,被管理的GUI资源也会被删除,
除非在析构前调用了 detach(),
线程管理类就像MFC的类, 线程就像受MFC类管理的GUI资源
fight_flight
2010-10-11
打赏
举报
回复
这个线程里有使用界面一个控件的指针显示信息,当我把相应的语句屏蔽之后内存就不会增加了。这种情况要怎样就觉呢?是不是涉及资源的互斥呢?
mujianhua1982
2010-10-10
打赏
举报
回复
学习了!!!!!!
dbzhang800
2010-10-09
打赏
举报
回复
[Quote=引用 6 楼 zecard_fu 的回复:]
引用 2 楼 qqyanchong 的回复:
run结束后线程的资源不会自动全部释放,因为现在只是结束了run整个的线程还是存在的,因而要释放必须完全的删除你的线程类才可以
存在吗? 我用命令 pstree 怎么发现不存在了?
[/Quote]
恩,不存在。Qt Manual中说:
The run() implementation is for a thread what the main() entry point is for the application. All code executed in a call stack that starts in the run() function is executed by the new thread, and the thread finishes when the function returns.
zecard_fu
2010-10-09
打赏
举报
回复
[Quote=引用 2 楼 qqyanchong 的回复:]
run结束后线程的资源不会自动全部释放,因为现在只是结束了run整个的线程还是存在的,因而要释放必须完全的删除你的线程类才可以
[/Quote]
存在吗? 我用命令 pstree 怎么发现不存在了?
khler
2010-10-02
打赏
举报
回复
不能简单的从观察系统的内存增减来判断程序是否内存泄露。
从你对fun1与fun2的描述来看,不存在内存泄漏问题,除非里面还有其他对内存的操作。
fight_flight
2010-09-30
打赏
举报
回复
[Quote=引用 2 楼 qqyanchong 的回复:]
run结束后线程的资源不会自动全部释放,因为现在只是结束了run整个的线程还是存在的,因而要释放必须完全的删除你的线程类才可以
[/Quote]
使用时new,用完后delete 吗?
是这样的,我在一个函数(fun1)中new一个线程并start它,线程运行一个socket客户端与服务端相连的代码,很快就执行完了。然后另一个函数(fun2)使其与服务端断开并delete这个线程。执行fun1时内存会相应增加,运行fun2时内存并没有相应减少。这是什么原因?
ljz0919
2010-09-30
打赏
举报
回复
发一点我自己用到的代码,看能否对你有帮助
DownProcThread::~DownProcThread()
{
mutex.lock();
abort = true;
condition.wakeOne();
mutex.unlock();
wait();
}
void DownProcThread::run()
{
forever{
// QMutexLocker locker(mutex);
mutex.lock();
//在此处理收到的报文,并发送报文。
if (abort)
return;
//emit txrxcmd(this->message());
emit begin485();
this->sleep(1);
mutex.unlock();
}
}
yanchong
2010-09-30
打赏
举报
回复
run结束后线程的资源不会自动全部释放,因为现在只是结束了run整个的线程还是存在的,因而要释放必须完全的删除你的线程类才可以
dext
2010-09-29
打赏
举报
回复
本质上还是和一般的方法一样吧。栈上的 就“返还”了,堆上的要自己释放吧。
QT
多
线程
—主界面卡死解决方案
由于耗时的操作会独占系统cpu资源 ,让界面卡死在那里,这时需要考虑多
线程
方案,将耗时的操作放在主
线程
之外的
线程
中执行。该demo通过多
线程
为主界面卡死提供一种解决方案。
qt
TCP多
线程
服务的例子
一个
qt
tcpserver多
线程
接收连接的例子 有客户端连接后3内接收到数据后返回 到达3秒或者发送完数据 断开 学习阶段,有很多不懂.不知道为什么这种常用的功能没有个实例. 仅供参考
QT
高级编程
QT
界面美化QSS
QT
网络编程
QT
绘图
QT
多
线程
视频课程
QT
课程学习目标这套
QT
课程体系是为准备从事以下软件工程师岗位工作的学员群体精心研发的。
QT
软件工程师
QT
高级软件工程师
QT
课程技术模块
QT
核心技术概念
QT
图形窗口编程技术
QT
QSS界面美化实战技术
QT
实用框架编程技术
QT
课程学习路线
QT
核心基础概念体系编程实践
QT
Widgets图形窗口编程基础体系编程实践
QT
基础控件和高级复杂控件体系编程实践
QT
布局管理体系编程实践
QT
模型视图代理框架编程实践
QT
QSS式样表编程实践
QT
界面美化编程实践
QT
文件IO框架编程实践
QT
绘图框架编程实践
QT
图形视图框架编程实践
QT
网络框架编程实践
QT
多
线程
框架编程实践
QT
线程
池框架编程实践
QT
并发库框架编程实践
QT
课程推荐章节
QT
控件美化界面美化是这套
QT
课程中的特色亮点,是
QT
软件工程师在工作实践中可以直接参考应用的,推荐认真学习。
QT
QSS基础控件界面美化
QT
QSS高级控件界面美化
QT
QSS其它控件界面美化
QT
QSS窗口组合界面美化
QT
QSS主窗口界面美化
QT
5 串口 收发 实例
这个小程序是自己用
QT
5开发的调试串口用的 在xp下收发正常 收发用的是一个独立
线程
QT
多
线程
编程详解
一、
线程
基础 1、GUI
线程
与工作
线程
每个程序启动后拥有的第一个
线程
称为主
线程
,即GUI
线程
。
QT
中所有的组件类和几个相关的类只能工作在GUI
线程
,不能工作在次
线程
,次
线程
即工作
线程
,主要负责处理GUI
线程
卸下的工作。 2、数据的同步访问 每个
线程
都有自己的栈,因此每个
线程
都要自己的调用历史和本地变量。
线程
共享相同的地址空间。 二、
QT
多
线程
简介
QT
通过三种形式提供了对
线程
...
Qt
16,211
社区成员
26,591
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章