windows臨界區,同乙個執行緒是可以重複進入的,但是進入的次數與離開的次數必須相等。
c++互斥量則不允許同乙個執行緒重複加鎖。
raii類:(resource acquisition is initialization)資源獲取及初始化
std::mutex 獨佔式互斥量
std::recursive_mutex:允許同乙個執行緒同乙個互斥量多次被 lock() 。
如果你真的用了 recursive_mutex 要考慮**是否有優化空間, recursive_mutex效率要比mutex低。
遞迴次數據說有限制。
帶超時的互斥量 std::timed_mutex 和 std::recursive_timed_mutex
std::timed_mutex:是待超時的獨佔互斥量
try_lock_for():等待一段時間,如果拿到了鎖,或者超時了未拿到鎖,就繼續執行(有選擇執行)如下:
std::chrono::milliseconds timeout(100);
if (my_mymutex.try_lock_for(timeout))
else
try_lock_until():引數是乙個未來的時間點,在這個未來的時間沒到的時間內,如果拿到了鎖頭,流程就走下來,如果時間到了沒拿到鎖,流程也可以走下來。
std::chrono::milliseconds timeout(100);
if (my_mymutex.try_lock_until(chrono::steady_clock::now() + timeout))
else
std::recursive_timed_mutex:是待超時的遞迴獨佔互斥量 實習日記 Day47
每天都在補前一天欠下的日記?昨天補的是前天的,今天就要補昨天的 昨天都做了些什麼呢?才過去一天而已,竟然有一種 昨日之日,恍若隔世 的感覺,簡要回顧一下,分為昨天的苦澀和昨天的甜吧 昨天讓我感到痛苦的是再一次被push做知識分享的ppt,和之前的 催 不同,這一次的 催 帶著deadline。從第一...
前端 學習筆記day47 其他標籤
標籤的屬性都是屬性名 屬性值的形式 每乙個標籤都有 三個基本屬性 id 表示該標籤的唯一標識,不能重複 class style 兩者都是用來顯示文字內容的,但是div標籤是塊級標籤,而span是行內標籤 內聯標籤 doctype html html head meta charset utf 8 t...
牛客 C 刷題day47
1.不能認為是原子操作,a是全域性變數,在記憶體中,則 a一般被分為從記憶體取a到暫存器 回寫到記憶體三步.兩個執行緒併發執行以下 假設a是全域性變數,那麼以下輸出 哪個是可能的?int a 1 void foo 解析假設執行緒x和y同時執行,x和y可隨時被搶占,a的初始值為1 a 3,2 y先執行...