Qt中QMutex的一點理解

2021-09-26 03:53:18 字數 441 閱讀 1743

在qt的多執行緒控制中,互斥量的訪問最簡單的控制是新增乙個mutex鎖,對乙個函式或者變數鎖定。

一直不理解qmutex中的鎖是如何執行的,或者說如何利用這個鎖將變數進行鎖定。官方例項是這樣的:

1 qmutex mutex;

2 int number = 6;

34 void method1()

5 11

12 void method2()

13 還是看不懂為什麼會鎖住變數,主要是沒辦法根據這個試例進行實驗,後經過各種查資料研究一遍遍的試**,還有從別人部落格中的只言片語中,發現有這麼一句話:「qmutex::lock()獲取乙個鎖」。

這說明只有乙個鎖,只能被乙個qmutex得到,如果qmutex得不到這個鎖,那它將不會執行緊隨其後的**,也就是在兩個程序**中需要共用乙個qmutex類的例項,這樣才能保證該例項是否獲取到乙個鎖或者得不到乙個鎖。

關於Qt的UI的一點理解

許久不用qt,突然對qt的ui程式設計模式有些不解,概念上有些混亂,一番查詢之後,基本又搞明白了,記錄一下。使用qt designer可以視覺化布局你的窗體和元件,這個布局檔案可以直接生成乙個ui類,供控制項使用。但是在 中,見到一句ui.setupui this 讓我疑惑了,究竟最終彈出的視窗是這...

了解一點QT

qt作為cross platform開發中開發ui的利器,應用非常廣。可惜我的專案經歷裡沒碰到過它。今天的一次training,make a list了解一點關鍵概念先 1.qa widget是control也是window,因此可以單獨被show出來。2.一些關鍵概念 qobject meta o...

瞧一瞧Qt的QMutex

mutex一般稱為互斥鎖,是用於執行緒同步的。qt幫助文件對qmutex有一段描述 qmutex是為了保護乙個物件 資料結構或 段,在同乙個時刻只能有乙個執行緒能訪問它。我覺得這句話很容易誤導人,看這句話會把關注點放在物件 資料結構或 段上。但是個人覺得qmutex重點應該放在qmutex與執行緒的...