redisson重入锁上锁失败

public boolean acquire(String lockName) {
    //声明key对象
    String key = LOCK_TITLE + lockName;
    //获取锁对象
    RLock mylock = redissonClient.getLock(key);
    //加锁,并且设置锁过期时间3秒,防止死锁的产生 uuid+threadId
    mylock.lock(3, TimeUnit.SECONDS);
    //加锁成功
    return true;
}

public void release(String lockName) {
    String key = LOCK_TITLE + lockName;
    RLock mylock = redissonClient.getLock(key);
    mylock.unlock();
}

调用如下

        boolean acquire = distributedRedisLock.acquire(CacheKey.REGISTER_SMS_RECALL);
        try {
            if (acquire) {
                taskExecutor.execute(() -> {
                    log.info("多线程测试");
                });
            }
        }catch (Exception e) {
            log.info("{}", ExceptionUtils.getFullStackTrace(e));
        }finally {
            distributedRedisLock.release(CacheKey.REGISTER_SMS_RECALL);
        }

上锁方法如上,但是使用多线程调用的时候,上锁失败了

Application_Stdout [2021-12-29 11:06:52] [traceid=yPGwkuNz,uid=,uri=/mid/test/test,host=192.168.126.47,ref=,ua=python-requests/2.26.0]  INFO  [http-nio-8089-exec-6] o.n.mid.task.SmsRecallRegisterTask[48] - 多线程测试
Application_Stdout [2021-12-29 11:06:52] [traceid=krfsFsWv,uid=,uri=/mid/test/test,host=192.168.126.47,ref=,ua=python-requests/2.26.0]  INFO  [http-nio-8089-exec-8] o.n.mid.task.SmsRecallRegisterTask[48] - 多线程测试
Application_Stdout [2021-12-29 11:06:52] [traceid=8c9RU1WK,uid=,uri=/mid/test/test,host=192.168.126.47,ref=,ua=python-requests/2.26.0]  INFO  [http-nio-8089-exec-10] o.n.mid.task.SmsRecallRegisterTask[48] - 多线程测试
阅读 1.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题