zookeeper实现分布式锁
实现分布式锁有三种方式
1. redis。 setNX 存在则会返回0, 不存在
2. 数据方式去实现
创建一个表, 通过索引唯一的方式
create table (id , methodname …) methodname增加唯一索引
insert 一条数据XXX delete 语句删除这条记录
mysql for update
3. zookeeper实现排他锁 利用临时有序节点的特性和watcher来实现 代码如下所示:
运行main函数得到结果如下图所示: