码迷,mamicode.com
首页 > 其他好文 > 详细

分布式锁 ----zookeeper实践 (排它锁)

时间:2016-05-10 09:42:42      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

排它锁概念:

  Exclusive Locks,被称为X锁,写锁,独占锁.如果事物T1对数据对象O1加上了排它锁,那么在整个加锁期间,只允许事务T1对O1进行读写操作,其他事务必须等到T1释放锁后才能进行操作.在单机环境中,JDK提供了synchronized关键字和ReentrantLock

重用锁来提供排它锁的功能.

 

zookeeper实现排它锁原理:

  在需要获取排它锁时,所有的客户端都会调用create方法在固定路径下创建节点,并发环境下,只有一个客户端可以创建成功,相当于获取了锁,当该客户端完成事务后,删除该节点.对于没有获取成功的其他节点,则在该路径上设置监听,如果该路径子节点删除事件触发,继续尝试获取锁(create).

 

具体实现:

 

定义锁的接口:(我想实现的几个方法)

public interface DistributedLock {
    void lock();
    boolean isLocked();
    boolean tryLock();
    boolean tryLock(long timeout);
    void unlock();
}

 

分布式锁 ----zookeeper实践 (排它锁)

标签:

原文地址:http://www.cnblogs.com/dodoJavaLearner/p/5476586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!