C 日記 Day47 其他各種mutex互斥量

2021-10-24 00:18:32 字數 873 閱讀 5269

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先執行...