【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
zk中分布式锁,分布式屏障
curator
屏障
DistributedBarrier对象
通过客户端连接和指定路径创建DistributedBarrier对象
barrier.setBarrier()
表示没有屏障时先设置屏障节点
Barrier.waitOnBarrier() 检查,如果屏障存在,则一直调用wait()等待,如果不存在,跳出无限循环,或者超时时跳出无限循环
当所有要做的事情都完成后,解除屏障,开始下一步处理,barrier.removeBarrier()
删除指定屏障 client.delete().forPath(barrierPath);
java中的屏障
CyclicBarrier
有count计数,通过计数来保证线程阻塞中
分布式锁
InterProcessMutex
lock.acpuire()
lock.release()
多线程中,如果不使用锁,访问公共资源时候就会造成并发修改资源,导致资源失效
来源:oschina
链接:https://my.oschina.net/iioschina/blog/3141865