- 0
- 0
- 约2.97千字
- 约 3页
- 2026-08-25 发布于北京
- 举报
尝试获取锁超时,超时锁自动释放
(1)尝试获取锁超时
time=waitTime,是我们指定的最大的等待获取锁的时间,比如是100秒
current=第一次尝试获取锁之前的一个时间戳
当前时间减去current=第一次获取锁耗费的时间,假设是1秒
time-=第一次获取锁耗费的时间=100秒-1秒=99秒,最多再等待99秒尝试获取这个
锁,如果第一次获取锁的时间直接超过了waitTime等待最大超时时间,就会直接标记为获
取锁失败
current=当前时间
finalRFutureRedissonLockEntrysubscribeFuture=subscribe(threadId);
if(!await(subscribeFuture,time,TimeUnit.MILLISECONDS)){
if(!subscribeFuture.cancel(false)){
subscribeFuture.addListener(newFutureListenerRedissonLockEntr
原创力文档

文档评论(0)