執行緒同步方法總結

2021-10-24 08:26:30 字數 396 閱讀 2545

互斥鎖、自旋鎖、讀寫鎖對臨界資源的操作流程都是一樣的

為臨界資源加鎖,其他執行緒不可訪問

訪問臨界資源

訪問完成,解鎖,其他執行緒可以訪問

如果臨界資源是被加鎖的,需要等待被解鎖。執行緒用步較為複雜的方法

加鎖保護條件變數

判斷條件是否滿足,未滿足等待條件滿足,等待時執行緒是睡眠,直到滿足被喚醒

對臨界資源進行操作

操作完成後解鎖

同步方法

描述互斥鎖

最簡單的執行緒同步方法,會阻塞執行緒

自旋鎖避免切換的執行緒同步方法,屬於忙等待

讀寫鎖為多讀少寫資源設計的執行緒同步方法,可以高效提公升效能

條件變數

相對複雜的執行緒同步方法,有更靈活的使用場景

多執行緒同步總結

同步方式 是否為核心物件 特點模擬場景 臨界區非核心物件 通過多執行緒的序列化來訪問公共資源或一段 速度快,適合控制資料訪問。在任意時刻只允許乙個執行緒對臨界區的訪問。亭訊號量 核心物件 它允許多個執行緒在同一時刻訪問統一資源,但是需要限制同一時刻訪問此資源的最大執行緒數目。停車場剩餘車位數目 互斥...

執行緒同步的幾種方法的總結

執行緒同步的方式包括 互斥鎖 讀寫鎖 條件變數 訊號量和令牌。下面提供token在ace中的一種實現方法。可以從下面的類圖,可以看到ace是如何設計token的。下面對ace token中的組要方法提供分析。判斷是否有執行緒已經持有互斥鎖了,如果沒人持有,表示臨界資源是可用的,那麼可以立即返回成功。...

執行緒同步的方法

一 執行緒同步的方法 1 reentrantlock a 加鎖 reentrantlock lock new reentrantlock finally b condition variable condition fund finally 2 synchronized a 加鎖 synchroni...