互动
最近评论
最近评论内容 TODO
这里需要后面适配瞬间的插件
后面再适配吧!
Halo Theme Hao
更多信息请关注 GitHub
在了解了加锁和锁重入之后,最需要了解的还是在分布式场景下或者多线程并发加锁是如何处理的?
加锁逻辑已经介绍完毕,那当一个线程重复加锁是如何处理的呢?
一般工作中常用的分布式锁,就是基于 Redis 和 ZooKeeper,前面已经介绍完了 Redisson 锁相关的源码,下面一起看看基于 ZooKeeper 的锁。也就是 Curator 这个框架。
Redisson 除了提供了分布式锁之外,还额外提供了同步组件,Semaphore 和 CountDownLatch。
Redisson 还支持可重入读写锁,允许在分布式场景下,同时有多个读锁和一个写锁处于加锁状态。
RedLock 红锁,是分布式锁中必须要了解的一个概念。 但是不建议使用 Redisson 实现的 Redis 的红锁。
基于 Redis 的 Redisson 分布式联锁 RedissonMultiLock 对象可以将多个 RLock 对象关联为一个联锁,每个 RLock 对象实例可以来自于不同的 Redisson 实例。
公平锁的释放同样分为主动释放和超时释放。
加锁失败被放到等待队列之后,线程是如何处理的?
分布式公平锁是如何实现的?