Qt中暂停线程的执行
Posted 行尸走肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中暂停线程的执行相关的知识,希望对你有一定的参考价值。
在线程中定义一个信号量
QMutex pause;
把run()函数中循环执行的部分用信号量pause锁住:
void run() { while(1) { pause.lock(); //循环执行的内容,比如视频播放 pause.unlock(); } }
在主线程(UI线程)中,如果想暂停线程执行,就将pause加锁:
thread->pause.lock(); //thread是线程指针
如果想继续线程,就将pause解锁:
thread->pause.unlock();
以上是关于Qt中暂停线程的执行的主要内容,如果未能解决你的问题,请参考以下文章