读书人

QT怎么结束一个线程

发布时间: 2012-06-04 14:48:03 作者: rapoo

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

[解决办法]

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

需要结束时,nRunFlag = 0;

thread->terminate();

就ok了

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

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

读书人网 >QT开发

热点推荐