当前位置: 代码迷 >> QT开发 >> QT怎么结束一个线程
  详细解决方案

QT怎么结束一个线程

热度:90   发布时间:2016-04-25 04:45:17.0
QT如何结束一个线程
从QObject继承一个类,将线程需要实现的功能在这个类里面实现,然后新建一个线程,再moveToThread到这个线程执行,但是当操作完成之后,如何让线程结束呢?我需要结束线程以释放资源,但是线程貌似还在exec()中,不会自动结束,但是我使用quit(),或者exit(0),或者terminate(),都出现程序崩溃,不知道该如何正常结束一个线程。

------解决方案--------------------
探讨
引用:
一般子线程里循环采用
white(nRunFlag)
{
}

需要结束时,nRunFlag = 0;

thread->terminate();

就ok了

你是说while()?
但是线程里面有信号与槽的连接,如果使用while不行吧...

------解决方案--------------------
如果调用线程的exit或者quit函数导致程序崩溃,是因为你的代码有bug,看看是不是在线程退出的过程中存在野指针访问?
  相关解决方案