源码剖析
文章平均质量分 91
架构随笔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PollingWatchService原理剖析
PollingWatchService AbstractWatchService watchService = new PollingWatchService(); PollingWatchService() { // TBD: Make the number of threads configurable scheduledExecutor = Executors.newSingleThreadScheduledExecutor(); } 初始化时会初始化一个单线程池。 接下来,向该w原创 2020-06-19 16:23:54 · 615 阅读 · 1 评论 -
基于Redis的分布式锁RedissonLock原理剖析
RedissonLock#subscribe 订阅锁释放事件,并阻塞等待锁释放,有效的解决了无效的锁申请浪费资源的问题: 基于信号量,当锁被其它资源占用时,当前线程通过 Redis 的 channel 订阅锁的释放事件,一旦锁释放会发消息通知待等待的线程进行竞争. 1、当 this.await 返回 false,说明等待时间已经超出获取锁最大等待时间,取消订阅并返回获取锁失败. 2、当 this.await 返回 true,进入循环尝试获取锁. protected final LockPubSub pubS原创 2020-06-21 13:17:33 · 876 阅读 · 0 评论
分享