eper.apache.org/doc/trunk/recipes.html">http://zookeeper.apache.org/doc/trunk/recipes.html
使用注意: 传统的 {@linkplain ReentrantLock}使用有所区别,ReentrantLock主要用于空只单进程多线程之间的调度,所以要求每个线程使用同一个ReentrantLock实例 而 {@linkplain DistributedLock}主要是用于控制多进程的调度,所以如果需要被用来控制多线程时,需要使用不同的DistributedLock实例对象。 因此单个DistributedLock实例在多个线程中进行lock/unlock操作时会有线程安全问题!! 使用例子: DistributedLock lock = new DistributedLock("/lock/"); try { lock.lock(); // do something } catch (InterruptedException e1) { // 可中断 } catch (KeeperException e1) { // zookeeper异常 } finally { try { lock.unlock(); } catch (KeeperException e) { // zookeeper异常 } }
@author jianghang 2011-9-29 上午11:16:07
@version 4.0.0