请稍等 ...
×

采纳答案成功!

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

分布式锁 可重入 应用场景

老师 分布式锁 可重入 应用场景 有哪些呢 能举个例子吗

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

1回答

Er十七 2024-03-05 11:01:35

场景还挺多的。1,比如说你的加锁方法是一个递归调用,在这个里面需要反复加锁,需要重入锁才行。2,还有一些业务场景,比如a方法是下订单,那在a方法里面有加锁,他调用b方法是修改订单状态的。那因b方法有很多方法都会调用他,所以他为了保证订单状态正确,在自己内部也加了锁。这种场景就是,公有方法内加锁,调用他的方法也加锁了。3,重入锁的优势,让你在写代码的时候不至于写出死锁,比如你先写了一个加锁方法a,调用另外一个方法b,刚开始方法b是没加锁的,但是需求迭代,其他同事在b里面加了锁。那如果不支持重入,是不是就死锁了。所以为了避免这种场景也需要加重入锁。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_图_0 #1
    嗯嗯 谢谢老师 第2点 我有点不理解   a方法下订单 里面有加锁A
    b方法更新订单状态 加锁B      重入锁是指加的同一把锁吧  这里下订单和更新订单业务是用的同一把锁吗
    回复 有任何疑惑可以回复我~ 2024-03-05 17:04:50
  • Er十七 回复 提问者 qq_图_0 #2
    是同一把锁,一般这时候锁的是同一个订单id
    回复 有任何疑惑可以回复我~ 2024-03-05 18:18:56
问题已解决,确定采纳
还有疑问,暂不采纳
Java主流分布式解决方案多场景设计与实战
  • 参与学习       159    人
  • 解答问题       41    个

本课程是一门关于分布式系统下常见的解决方案的课程

了解课程
意见反馈 帮助中心 APP下载
官方微信