如果线程 A 能获取到线程 B 的锁那么这个分布式锁的代码一开始就已经错了。 这里回到这个异常场景本身,我们可以给每个线程设置请求ID,加锁成功将请求ID设置为加锁 key 的对应 value,线程释放锁时需要判断当前线程的请求ID与 加锁 key 的对应 value 是否相同,相同则可以释放锁,不相同则不允许释放。 三、线程加锁...