当前位置: 代码迷 >> QT开发 >> new 出来的线程对象,怎么delete
  详细解决方案

new 出来的线程对象,怎么delete

热度:291   发布时间:2016-04-25 02:53:59.0
new 出来的线程对象,如何delete?
如题。
ThreadRead是继承了Qhread的类,当然重写了run,略不过提了。

在界面中,也就是MainWindow,点击按钮执行以下操作

ThreadRead  *th_Read=new ThreadRead();
th_Read->start();


程序会执行线程函数

那么问题来了,工作中频繁的点击该按钮,如果不delete是不是会有内存未回收的问题?

改如何delete?
------解决思路----------------------
add this to constructor of your ThreadRead  
    QObject::connect(this, SIGNAL(finished()), this, SLOT(deleteLater()));
------解决思路----------------------
新线程跑完之后会发出finished信号,然后连接finished信号到deletelater槽就ok了
------解决思路----------------------
试试th_Read->deleteLater();
  相关解决方案