最新 最热

Redisson 分布式锁源码 10:读写锁

Redisson 还支持可重入读写锁,允许在分布式场景下,同时有多个读锁和一个写锁处于加锁状态。

2021-07-09
2

Redisson 分布式锁源码 09:RedLock 红锁的故事

所以本文会先介绍什么是 RedLock,当大家对 RedLock 有一个基本的了解。然后再看 Redisson 中是如何实现 RedLock 的。

2021-07-09
3

Redisson 分布式锁源码 08:MultiLock 加锁与锁释放

基于 Redis 的 Redisson 分布式联锁 RedissonMultiLock 对象可以将多个 RLock 对象关联为一个联锁,每个 RLock 对象实例可以来自于不同的 Redisson 实例。

2021-07-09
3

Redisson 分布式锁源码 07:公平锁释放

看门狗机制是在 RedissonBaseLock#scheduleExpirationRenewal 方法中,这块公平锁和非公平锁并无区别。

2021-07-09
3

Redisson 分布式锁源码 06:公平锁排队加锁

源码入口:org.redisson.RedissonLock#lock(long, java.util.concurrent.TimeUnit, boolean)。

2021-07-09
3

Redisson 分布式锁源码 05:公平锁加锁

在加锁失败时,线程会进入 while 循环,一直尝试获得锁,这时候是多线程进行竞争。就是说谁抢到就是谁的。

2021-07-09
4

Redisson 分布式锁源码 04:可重入锁释放

一路往里跟,直接来到 RedissonLock#unlockInnerAsync:

2021-07-09
2

Redisson 分布式锁源码 03:可重入锁互斥

源码定位:org.redisson.RedissonLock#lock(long, java.util.concurrent.TimeUnit, boolean)

2021-07-09
3

Redisson 分布式锁源码 02:看门狗

在前一篇文章中介绍了可重入锁加锁的逻辑,其中 RedissonLock#tryAcquireAsync 方法是进行异步加锁的逻辑。

2021-07-09
3

Redisson 分布式锁源码 01:可重入锁加锁

单系统很容易想到 Java 的各种锁,像 synchronize、ReentrantLock 等等等,那分布式系统如何处理?

2021-07-09
4