接口 DistributedLock

所有已知实现类:
DefaultRedissonDistributedLock

public interface DistributedLock
分布式锁基础接口
作者:
shen
  • 方法概要

    修饰符和类型
    方法
    说明
    <M> M
    lockAndExecute(String key, long leaseTime, TimeUnit unit, ReturnHandle<M> action)
    阻塞等待获取分布式锁,并且执行用户传入的操作
    void
    lockAndExecute(String key, long leaseTime, TimeUnit unit, VoidHandle action)
    阻塞等待获取分布式锁,并且执行用户传入的操作
    <M> M
    tryLockAndExecute(String key, long waitTime, long leaseTime, TimeUnit unit, ReturnHandle<M> action)
    获取分布式锁,并且执行用户传入的操作 在指定时间内未得到锁,则直接返回结果,不会阻塞 用户需要自行处理异常
    <M> void
    tryLockAndExecute(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

      <M> M lockAndExecute(String key, long leaseTime, TimeUnit unit, ReturnHandle<M> action)
      阻塞等待获取分布式锁,并且执行用户传入的操作
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      参数:
      key - 锁的键值
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,带返回值
      返回:
      action的返回值
    • lockAndExecute

      void lockAndExecute(String key, long leaseTime, TimeUnit unit, VoidHandle action)
      阻塞等待获取分布式锁,并且执行用户传入的操作
        leaseTime: 释放时间。当该值为-1的时候,则释放时间由“显式unLock调用”决定。大于-1,则表示,释放时间由leaseTime决定
       
      参数:
      key - 锁的键值
      leaseTime - 最小释放锁的时间
      unit - 时间单位
      action - 执行的动作,带返回值
    • unlock

      boolean unlock(String key)
      显示解锁
      参数:
      key - redis健
      返回:
      解锁结果