執行緒同步C 關鍵字 lock,monitor

2022-01-14 03:10:42 字數 302 閱讀 5818

詳細文章:c# 執行緒同步: 詳解lock,monitor,同步事件和等待控制代碼以及mutex

鎖是相對單獨的資源而言的。

鎖住當前例項:lock(this)

鎖住此類的所有例項:lock(typeof([type]))

對字串的鎖,會鎖定所有相同內容的字串,建議可以用靜態字串代替

對一些集合類一般操作都是執行緒安全的但是在列舉時不是:

lock(myclollection.syncroot)

monitor不是很常用,它提供了更具體更細節的鎖,就跟os課上說的那樣,可以更好的防止死鎖。

同步 volatile關鍵字

volatile是一種比sychronized關鍵字更輕量級的同步機制 訪問volitile變數時,不會執行加鎖操作 訪問非volitile變數時,每個執行緒會從系統記憶體 主記憶體 拷貝變數到工作記憶體中,然後修改工作記憶體中的變數值,操控的變數可能不同,造成混亂。volatile修飾的變數,是直...

c 執行緒週期關鍵字thread local

那麼,哪些變數可以被宣告為thread local?以下3類都是ok的 命名空間下的全域性變數 類的static成員變數 本地變數 下面引用 c concurrency in action 書中的例子來說明這3種情況 namespace loacl classx static thread loca...

鎖 同步關鍵字 Thread Runnable

即具有相關提供 api,可復用鎖 讀寫鎖等 安卓中需要對執行緒進行暫時休眠時,需要先進行lock 或進行looper 中的message佇列進行等待 loop.prepare loop.loop 在對執行緒或 塊進行以上相關操作時,須對執行緒或 塊進行同步操作 對具體需要執行的 比如wait 或 n...