File : thread.h
Type : qt
Brief : Qt结束线程
#include <QThread>
#include <QMutex>
class thread : public QThread
{
Q_OBJECT
public:
thread(QObject *parent = 0): QThread(parent){}
void exitThread()
{
requestInterruption(); // 发出终止线程请求
quit();
wait();
}
protected:
void run() {
//while(1) // 不要用while(1)
while (!isInterruptionRequested()) // 没有终止线程请求时,就相当于while(1)了
{
}
}
};
参考文章,里面写了利用QMutex和bool实现requestInterruption()的原理。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [ yehuohan@gmail.com ]