冷饭新炒:理解Redisson中分布式锁的实现 (10)

上面的实现短时间内编写完,没有做详细的DEBUG,可能会有纰漏。某次执行结果如下:

线程threadB获取到资源resource:x的锁 线程threadB释放资源resource:x的锁 线程threadA获取到资源resource:x的锁 线程threadA释放资源resource:x的锁 小结

Redisson中的red lock实现,应用到下面的核心技术:

合理应用Redis的基本数据类型HASH

Redis的订阅发布

Lua脚本的原子性

Netty中的Promise实现

Netty中的时间轮HashedWheelTimer和对应的定时任务(HashedWheel)Timeout

Semaphore进行带期限、永久或者可中断的阻塞以及唤醒,替代CountDownLatch中的无等待期限阻塞

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzsws.html