Qt Thread的挂起,亲测可用

来源:互联网 发布:sql truncate 外键 编辑:程序博客网 时间:2024/06/06 20:24

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

[cpp] view plain copy
  1. QMutex pause;  

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

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


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

[cpp] view plain copy
  1. thread->pause.lock(); //thread是线程指针  

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

[cpp] view plain copy
  1. thread->pause.unlock();  
原创粉丝点击