11.1.1 創建線程
第11章 多線程編程
多線程是指程序中包含多個執行流,即在一個程序中可以同時運行多個不同的線程來執行不同的任務,也就是說允許單個程序創建多個并行執行的線程來完成各自的任務。在多線程程序中,一個線程必須等待的時候,CPU可以運行其它的線程而不是等待阻塞,這樣就大大提高了程序的運行效率,也就提高CPU的利用率。一個程序(進程)創建多個線程時,線程與線程之間對共享資源的訪問會相互影響,學習線程編程還需要解決線程之間的資源競爭問題。
QT提供了QThread類進行線程管理,QThread采用了獨立于平臺的方式來管理線程。QThread繼承于QObject類,且提供了QMutex、QMutexLocker、QSemaphore相關類來管理線程之間的同步與競爭問題。
11.1 QThread類介紹
要使用QThread類創建線程,則必須子類化QThread類。也就是說必須繼承QThread類創建新的派生類。
11.1.1?創建線程
創建線程模型:
//線程的子類化
class Thread : public QThread
{
Q_OBJECT
protected:
void run();
};
void Thread ::run()
{
/*線程執行代碼*/
}
類成員函數run()是QThread
任務調度
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。