代码参见: doUnlock()
有清楚这一块逻辑的老哥吗? 我看了很多引用的地方和这一块的代码, 怎么看都是这几步操作不是原子性的, 随便一个操作出问题不就挂了.. 比如
1
BBCCBB OP 😱
|
2
pigmen 2020-12-09 10:58:10 +08:00
expire 和 set 一起用不就行了,分开的话用 multi exec
doUnlock 应该是单个 key 的? |
3
Vedar 2020-12-09 11:10:42 +08:00
看代码确实有这个问题,而且看 execute 还弄了个 interruptexception 的机制 看起来确实是没拿到锁就会一直等到被打断为止
|