文章目录
- 介绍
- 机制介绍
- 任务开始
- 任务释放
介绍
redis的watchDog机制实现了超时续约的功能,简单来说就是在获取锁成功以后,开启一个定时任务,这个任务每隔一段时间(relaseTime / 3),重置超时时间,避免的因业务阻塞导致锁过早释放。
机制介绍
任务开始
从获取锁得到future开始介绍:
如果ttlRemaining == null表示获取锁成功,这时候需要我们解决有效期的问题,就执行以下方法
this.scheduleExpirationRenewal(threadId);实现自动更新,续期的功能。
所以最后entry里放入两个东西,一个是线程id,另一个是定时任务。
任务释放
关于任务释放的时机: