【從入門到放棄-ZooKeeper】ZooKeeper實戰-分佈式鎖

前言

上文【從入門到放棄-ZooKeeper】ZooKeeper實戰-分佈式隊列中,我們一起寫了下如何通過ZooKeeper的持久性順序節點實現一個分佈式隊列。
本文我們來一起寫一個ZooKeeper的實現的分佈式鎖。

設計

參考之前學習的【從入門到放棄-Java】併發編程-JUC-locks-ReentrantLock,實現java.util.concurrent.locks.Lock接口。
我們通過重寫接口中的方法實現一個可重入鎖。

  • lock:請求鎖,如果成功則直接返回,不成功則阻塞 直到獲取鎖。
  • lockInterruptibly:請求鎖,如果失敗則一直阻塞等待 直到獲取鎖或線程中斷
  • tryLock:1、嘗試獲取鎖,獲取失敗的話 直接返回false,不會再等待。2、嘗試獲取鎖,獲取成功返回true,否則一直請求,直到超時返回false
  • unl
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章