Qt QMutexLocker 自動解鎖的機制

2022-03-20 04:34:30 字數 563 閱讀 4090

qmutexlocker 是乙個便利類,它可以自動對qmutex加鎖與解鎖。因為qmutexlocker 申請的這個lock變數在這個函式退出時,自動的呼叫析構函式來解鎖。這樣可以防止在程式編寫的過程中,不同的地方有多個return的情況,在發生return的時候,沒有解鎖,導致程式死鎖。

下面是乙個例子,分別使用了以上兩個類。

第一、使用qmutex

int complexfunction(int flag)

retval = status + flag;

}break;

default:

if (flag > 10)

break;

}mutex.unlock();

return retval;} 第

二、使用qmutexlocker

int complexfunction(int flag)

break;

default:

if (flag > 10)

return -1;

break;

}return retval;

}**

自增「 」和自減「 」

int x 10 int j j x 看這邊 system.out.println x int x 10 int j x x 看這邊 system.out.println x 第乙個會輸出11,第二個會輸出10。這是今天偶然看到的,而這個解釋聽起來比較容易理解 x 是乙個表示式,它的值是x,在這個表...

正解自增 自減

許多語言都有自增 自減運算子。下面以c語言為例,將此類運算子的運算特徵正解一下 一 先看字尾 b 2 a b 計算過程 1.先計算表示式b 的值,結果為2 即將b自增前的值作為表示式b 的值 2.再將表示式b 的值賦值給a,即a得到2 3.最後將b自增後的值賦值給b,即b為3 注意 在此過程中,沒有...

MySQL 自聯結 自連線

例如想於下方表中找出與在 愛藝奇 公司的客戶同名的顧客。第一步 找出在 愛藝奇 的客戶的姓名,第二步 從全表中去查詢姓名與第一步查詢出來一樣的客戶 where cust name in in 不能寫成 不然容易報錯。因為子查詢有可能返回的是多條記錄。這跟子查詢只能返回單列無關,單列與單行。子查詢 s...