在线程中定义一个信号量:
QMutex pause;
把run()函数中循环执行的部分用信号量pause锁住:
-
void run()
-
{
-
while(1)
-
{
-
pause.lock();
-
//循环执行的内容,比如视频播放
-
pause.unlock();
-
}
-
}
在主线程(UI线程)中,如果想暂停线程执行,就将pause加锁:
thread->pause.lock(); //thread是线程指针
如果想继续线程,就将pause解锁:
thread->pause.unlock();
参考
https://blog.csdn.net/masibuaa/article/details/8955162