接口 LockExecutor<T>

  • 所有已知实现类:
    AbstractLockExecutor

    public interface LockExecutor<T>
    分布式锁核心处理器
    作者:
    zengzhihong TaoYu
    • 方法详细资料

      • 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 - 锁实例
        返回:
        是否释放成功