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()));
如果这个线程经常使用的话,我会把主窗体的指针作为线程的父亲,当父亲释放的时候,根据Qt的内存管理, 会自动释放孩子的内存.
一周热门 更多>