redis分布式锁的疑问:
来源:13-8 redis分布式锁
慕仙3255099
2017-11-30
String oldValue = redisTemplate.opsForValue().getAndSet(key, value); if(!StringUtils.isEmpty(oldValue) && oldValue.equals(currentValue)) { return true; }
这一段代码中,如果两个线程A和B同时访问,A先拿到锁,然后B拿不到锁但是却set了B的值。老师在视频中说A和B的value值相同,但是实际情况并不一定相同吧 。麻烦老师有空回复下哦 谢谢
写回答
1回答
-
廖师兄
2017-11-30
然后B拿不到锁但是却set了B的值,不是太懂你的意思。
getAndSet这个命令,redis做了控制,同一时刻只会有一个线程执行
222018-01-09
相似问题