请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于redis加锁

请问一下如果A加锁了之后,由于延迟使得A加锁超时,然后B成功加锁,于是A与B同时加锁成功的话不就因为并发使得数据混乱了吗图片描述

正在回答

1回答

“由于延迟使得A加锁超时”?没看明白

0 回复 有任何疑惑可以回复我~
  • 提问者 无法显示sky #1
    但是因为延迟,假如线程A lock了之后、在unlock之前网络延迟或者Thread.sleeping,之后的线程B进入获取lock的方法里得到的结果是锁过期了,也拿到了锁。这样的话A和B不就都拿到了锁了吗
    回复 有任何疑惑可以回复我~ 2019-03-20 09:19:58
  • 廖师兄 回复 提问者 无法显示sky #2
    超时时间设置太短了,会出现你说的这种情况。对分布式锁感兴趣,可以看看redisson。还有这篇文章,供你参考 https://mp.weixin.qq.com/s/8fdBKAyHZrfHmSajXT_dnA
    回复 有任何疑惑可以回复我~ 2019-03-20 20:51:51
  • 提问者 无法显示sky #3
    谢谢师兄
    回复 有任何疑惑可以回复我~ 2019-03-23 20:05:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信