分佈式鎖介紹

一. 什麼是分佈式鎖併發

分佈式鎖是控制分佈式系統或不一樣系統之間共同訪問共享資源的一種鎖實現,
若是不一樣的系統或同一個系統的不一樣主機之間共享了某個資源時,每每須要互斥來防止彼此干擾來保證一致性

二. 爲何須要分佈式鎖分佈式

經過樂觀鎖(通常都是經過CAS來進行實現的)也能解決共享資源的訪問問題。
可是在併發量比較大的時候,使用樂觀鎖的實現反而會影響效率,下降系統的吞吐量。這時實現高效的分佈式鎖能提高西能

三. 分佈式鎖實現時須要的注意事項線程

1. 無死鎖:即便客戶端崩潰或者其餘事情發生,也不會影響其餘客戶端獲取鎖
2. 超時問題:若是在獲取鎖與釋放鎖之間邏輯執行太長,超出了鎖設置的過時時間就會致使問題。
由於所過時了,第二個線程就會獲取並持有鎖,可是這個時候第一個線程邏輯執行完後釋放了鎖,第三個線程就能夠在第二個線程下邏輯執行期間獲取了鎖
3. 可重入性
相關文章
相關標籤/搜索