关于双重防死锁的判断条件问题
来源:2-1 Lombok快速入门
曲线J
2019-10-31
https://coding.imooc.com/learn/questiondetail/123007.html
看到了这位同学的提问,老师回到说可以尝试获取一下锁。我觉得为null就不用尝试了吧,说明已经del了,直接可以进行关单的操作了。
我将代码改造成了下面的样子,老师帮忙看一下是否有什么问题。
写回答
2回答
-
曲线J
提问者
2019-11-01
老师好,我现在的疑问点是 我认为lockValueStr为null时,说明一个任务已经完成,删除了redis中的数据。这个时候应该是直接获取到锁,不用尝试。
你说的尝试去获取锁是相当于递归执行closeOrderTaskV3这个方法吗?
00 -
geelylucky
2019-10-31
这个同学说的其实是有道理的,假若在尝试获取锁的时候没有获取到,正好进入else的时候,锁被释放了,那么意味着其实还是可以再次尝试去获取锁的,这个逻辑是没有问题的。
00
相似问题