QThread设置quit()或exit()后isRunning()返回值仍然为true的解决方法

发布时间:2024年01月22日

参考:qt中Qthread线程的使用以及安全关闭_requestinterruption-CSDN博客?????????? QT 线程优雅退出

在停止时为线程设置requestInterruption()

thread->start();

//...

thread->setStopFlag(1);//如果有设置停止标志
thread->requestInterruption();//发出中断请求
//thread->exit();//不使用exit退出线程

?run函数:

void run()
{
    while (!isInterruptionRequested())
	{
		if (m_nStopFlag == 1)
		{
			mutex.lock();
			//...
			mutex.unlock();
			break;
		}
	}
	return;
}

?

?

文章来源:https://blog.csdn.net/qq_41567921/article/details/135751571
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。