阻塞(blocking)
synchronized關鍵字,或者重入鎖時就會產生阻塞的執行緒無飢餓(starvation-free)
低優先順序執行緒產生飢餓無障礙(obstruction-free)
不加鎖,都進入臨界區,資料不一致 回滾無鎖(lock-free)
無障礙基礎上要求 必然有乙個執行緒能夠在有限步內完成操作離開臨界區 , compareandset無等待(wait-free)
要求所有的執行緒都必須在有限步內完成 ,一種典型的無等待結構就是rcu(read-copy-update),有點像svn解決衝突的方式1,2 是阻塞,3,4,5是非阻塞,無鎖用的更多
並行程式設計 併發級別
1.1 wait freedom 無等待併發 wait freedom 指的是每乙個執行緒都一直執行下去而無須等待外部條件,整個流程中任何操作都能在乙個有限的步驟內完成,這是最高的併發級別,沒有任何阻塞。結合之前原子操作部分的知識,可以簡單認為能夠直接呼叫乙個原子操作實現的演算法或程式就屬於wait...
高併發級別簡述
qps req sec 請求數 秒 qps 每秒鐘 處理完請求的次數 注意這裡是 處理完。具體是指發出請求到伺服器處理完成功返回結果。可以理解在server中有個counter,每處理乙個請求加1,1秒後counter qps。qps計算pv和機器的方式 qps統計方式 一般使用 http load...
事務併發 事務隔離級別
併發問題可歸納為以下幾類 a.丟失更新 撤銷乙個事務時,把其他事務已提交的更新資料覆蓋 a和b事務併發執行,a事務執行更新後,提交 b事務在a事務更新後,b事務結束前也做了對該行資料的更新操作,然後回滾,則兩次更新操作都丟失了 b.髒讀 乙個事務讀到另乙個事務未提交的更新資料 a和b事務併發執行,b...