Qt中暫停線程的執行


在線程中定義一個信號量

 

QMutex pause;

 

把run()函數中循環執行的部分用信號量pause鎖住:

 

    void run()
    {
        while(1)
        {
            pause.lock();
            //循環執行的內容,比如視頻播放
            pause.unlock();
        }
    }


 

在主線程(UI線程)中,如果想暫停線程執行,就將pause加鎖:

 

thread->pause.lock(); //thread是線程指針

 

如果想繼續線程,就將pause解鎖:

 

thread->pause.unlock();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM