接口 LockExecutor<T>

所有已知实现类:
AbstractLockExecutor

public interface LockExecutor<T>
分布式锁核心处理器
作者:
zengzhihong TaoYu
  • 方法概要

    修饰符和类型
    方法
    说明
    acquire(String lockKey, String lockValue, long expire, long acquireTimeout)
    加锁
    boolean
    releaseLock(String key, String value, T lockInstance)
    解锁
    default boolean
    续期,目前只有redisson支持,且expire参数为-1才会续期
  • 方法详细资料

    • renewal

      default boolean renewal()
      续期,目前只有redisson支持,且expire参数为-1才会续期
      返回:
      是否续期
    • acquire

      T acquire(String lockKey, String lockValue, long expire, long acquireTimeout)
      加锁
      参数:
      lockKey - 锁标识
      lockValue - 锁值
      expire - 锁有效时间
      acquireTimeout - 获取锁超时时间
      返回:
      锁信息
    • releaseLock

      boolean releaseLock(String key, String value, T lockInstance)
      解锁
       为何解锁需要校验lockValue
       客户端A加锁,一段时间之后客户端A解锁,在执行releaseLock之前,锁突然过期了。
       此时客户端B尝试加锁成功,然后客户端A再执行releaseLock方法,则将客户端B的锁给解除了。
       
      参数:
      key - 加锁key
      value - 加锁value
      lockInstance - 锁实例
      返回:
      是否释放成功