接口 DistributedLock
- 所有已知实现类:
DefaultRedissonDistributedLock
public interface DistributedLock
分布式锁基础接口
- 作者:
- shen
-
方法概要
修饰符和类型方法说明<M> MlockAndExecute(String key, long leaseTime, TimeUnit unit, ReturnHandle<M> action) 阻塞等待获取分布式锁,并且执行用户传入的操作voidlockAndExecute(String key, long leaseTime, TimeUnit unit, VoidHandle action) 阻塞等待获取分布式锁,并且执行用户传入的操作<M> MtryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, ReturnHandle<M> action) 获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常<M> voidtryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, VoidHandle action) 获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常boolean显示解锁
-
方法详细资料
-
tryLockAndExecute
<M> M tryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, ReturnHandle<M> action) throws InterruptedException 获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常waitTime: 等待时间。当该值为0的时候,即不等待,无论是否获取到锁,都直接返回结果 leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
- 参数:
key- 锁的键值waitTime- 等待锁的时间leaseTime- 最小释放锁的时间unit- 时间单位action- 执行的动作,带返回值- 返回:
- action的返回值
- 抛出:
InterruptedException- 锁中断异常
-
tryLockAndExecute
<M> void tryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, VoidHandle action) throws InterruptedException 获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常waitTime: 等待时间。当该值为0的时候,即不等待,无论是否获取到锁,都直接返回结果 leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
- 参数:
key- 锁的键值waitTime- 等待锁的时间leaseTime- 最小释放锁的时间unit- 时间单位action- 执行的动作,不带返回值- 抛出:
InterruptedException- 锁中断异常
-
lockAndExecute
阻塞等待获取分布式锁,并且执行用户传入的操作leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
- 参数:
key- 锁的键值leaseTime- 最小释放锁的时间unit- 时间单位action- 执行的动作,带返回值- 返回:
- action的返回值
-
lockAndExecute
阻塞等待获取分布式锁,并且执行用户传入的操作leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
- 参数:
key- 锁的键值leaseTime- 最小释放锁的时间unit- 时间单位action- 执行的动作,带返回值
-
unlock
显示解锁- 参数:
key- redis健- 返回:
- 解锁结果
-