curator获取锁的线程宕机不会释放锁

curator获取锁的线程宕机不会释放锁

curator实现分布式锁,宕机后,锁不会释放,导致后面的线程获取不到锁

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 秃头小菜鸡 2020-08-06 23:36:27

http://img1.sycdn.imooc.com//climg/5f2c2343093ac77d14460240.jpg

3没有获取到锁,在finally中抛出异常了

  • lock.acquire(xx, second),这个方法的含义是:在xx时间内获取锁,如果过了xx时间返回false,这个方法不是一直阻塞在这里。返回false后,就是没有获得锁,在finally里释放锁就会出异常了。 在finally里再加try-catch,就是为了忽略这个异常。很多流的关闭方法都是这样操作的。在这里没有什么问题,忽略就好
    2020-08-07 08:49:32
提问者 秃头小菜鸡 2020-08-06 23:34:24
凌波微步 2020-08-06 22:56:36

是不是没有加过期时间

  • 提问者 秃头小菜鸡 #1
    设置了30秒,sleep 10秒,1 2 3个顺序访问,当1获取到锁后还在执行的过程中,把2直接关掉,1可以正常完成释放锁,3没有打印获取锁,而是在finally中释放的时候抛出了异常
    2020-08-06 23:29:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师