分布式锁 的思路发散

分布式锁 的思路发散

分布式锁. 可以理解为多客户端的抢夺同一互斥资源.
那问题可以理解为 解决互斥资源.

实现互斥资源的 三种思路

1. 调度者思路

把问题代入 现实生活中. 家里3个娃. 抢一台电视机.
此时要解决问题. 需要爸爸或者妈妈出面. 来进行协调.
爸爸 : 张一先看.张二再看. 张三最后看.
代码中,就是需要一个调度者 .维护一个先进先出的队列. 请求者将请求发送给调度者 .由调度者维护到队列中. 队列顶端的 请求者优先得到互斥资源

2. 许可思路

把问题代入 现实生活中. 3个娃 围在一起. 中间放了一个游戏机.爹妈不在家.
其中娃3号说: 两位哥哥.我先玩可以吗. 两位哥哥说:可以!
代码中,每个竞争者 在获取互斥锁之前.都要给其他竞争者发送请求.其他请求者接收到请求之后.讲此次请求保存在自己的先进先出队列中.位于顶端的请求可以返回允许,请求的发起者收到所有的许可后,方可获取互斥资源.

3. 令牌思路

问题代入 在丢手绢游戏中. 谁背后有个手绢,谁就可以站起来跑.手绢只有一个,大家做成圈
代码中.设定一个令牌. 讲所有竞争资源的人排成一个环. 令牌顺时针旋转. 旋转到谁,谁就可以去获取互斥资源. 如果没有需求.就跳过下一个.

posted @ 2022-12-26 18:56  博文43231  阅读(20)  评论(0编辑  收藏  举报