看了例子1, 现在已经验证了我们的想法是对的, 在线程发生中断的时候该线程会立马从阻塞状态中返回, 并且没有获得锁. 因此我们看看第二个例子看看如何写会比较严谨. importorg.redisson.Redisson;importorg.redisson.api.RLock;importorg.redisson.config.Config;importjava.util.concurrent.CountDownLatch;importjava.uti...
看了例子1, 现在已经验证了我们的想法是对的, 在线程发生中断的时候该线程会立马从阻塞状态中返回, 并且没有获得锁. 因此我们看看第二个例子看看如何写会比较严谨. importorg.redisson.Redisson;importorg.redisson.api.RLock;importorg.redisson.config.Config;importjava.util.concurrent.CountDownLatch;importjava.uti...
前言 看了很多用redisson实现分布式锁的博客, 对他们使用的方式我个人认为有一点点自己的看法, 接下来本文将以例子来验证为什么会有误解, 和看看正确的方式应该怎么写? 大多数认为的写法 看到很多人都是这样写 RLock lock = redisson.getLock(KEY); lock.lock()// do your own worklock.unlock() ...
4. 简单看完源代码后, 我看到该方法会去调用一个响应一个中断的lockInterruptibly,此时我就有点疑惑了, 响应中断就是表示线程如果发生中断就不会在等待队列中等待(当然redisson是采用SUB/PUB的方式),(本文不分析源码哈,对该锁的源码分析会放到专门博客里面分析, 主要是验证该如何使用)可以看下图: ...