• 8899阅读
  • 3回复

执行QThread::quit()后,在线程里new的内存会被释放吗? [复制链接]

上一主题 下一主题
离线conta
 
只看楼主 倒序阅读 楼主  发表于: 2010-06-07
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我在线程的外部,执行quit把它停止,那么整个线程被分配的资源,是否都被释放了?

离线conta
只看该作者 1楼 发表于: 2010-06-07
由于quit不起作用,我现在换了另一种方法:

delete(线程的指针入口);

不知这种方法好不好?若不好,缺点是什么?



离线datou06415
只看该作者 2楼 发表于: 2010-06-08
quit()和exit(0)作用相同,只是退出事件循环, 调用它不代表线程运行结束。
比如你的线程run()里头还有socke(假如调用了socket的话)之类的没有释放,
先wait()等待线程结束,
然后 你可以在创建该线程的线程中使用deletLater()函数

或者你可以在创建该线程的线程中connect子线程的finished()信号, 调用deleteLater()
离线benbenmajia

只看该作者 3楼 发表于: 2010-06-08
将new出来的内存及时释放是个好习惯
安然.....
快速回复
限100 字节
 
上一个 下一个