QT 正常结束线程后,还需要delete线程对象以回收资源吗? 财富值79

2016-10-25 23:13发布

QT 的线程正常退出后,是否还需要delete对象,以避免内存泄漏?

//从QThread继承出线程ThreadOnce class ThreadOnce:public QThread {     Q_OBJECT     void run() Q_DECL_OVERRIDE; };  //重写run方法,里面不是死循环,跑完后就正常退出线程 void ThreadOnce::run() {     int i=0;         while(i<20)     {         std::cout<<i<<std::endl;         i++;     } }  //是否有必要作如下的信号槽连接(this指向ThreadOnce的实例),来delete ThreadOnce的实例。 connect(this,SIGNAL(finished()),this,SLOT(deleteLater()));
3条回答

当你不使用线程对象的时候, 你可以释放;

如果这个线程经常使用的话,我会把主窗体的指针作为线程的父亲,当父亲释放的时候,根据Qt的内存管理, 会自动释放孩子的内存.

没有必要线程结束的时候,释放线程;

一周热门 更多>