在线程中定义一个信号量:

 

QMutex pause;

 

把run()函数中循环执行的部分用信号量pause锁住:

 

  1.  
    void run()
  2.  
    {
  3.  
    while(1)
  4.  
    {
  5.  
    pause.lock();
  6.  
    //循环执行的内容,比如视频播放
  7.  
    pause.unlock();
  8.  
    }
  9.  
    }



 

在主线程(UI线程)中,如果想暂停线程执行,就将pause加锁:

 

thread->pause.lock(); //thread是线程指针

 

如果想继续线程,就将pause解锁:

 

thread->pause.unlock();

 

参考

Qt中暂停线程的执行

 

https://blog.csdn.net/masibuaa/article/details/8955162

相关文章:

  • 2022-12-23
  • 2021-12-12
  • 2021-11-24
  • 2022-12-23
  • 2021-09-16
  • 2021-09-02
  • 2021-09-02
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案