请教关于Redisson读写锁,读锁之间相互阻塞。第二次读数据需要等第一次读结束后才能读取数据

刚学习redisson,不太熟悉。想请教下各位前辈。我加读锁,每次访问休眠5秒,并打印时间。第一次访问 间隔三秒后 第二次访问。正常打印时间因该是
0秒  3秒  5秒 8秒个打印一次。但是代码结果是 0  5 5 10 各打印一次


[code=java]
@GetMapping("/read")
    @ResponseBody
    public String readValue() {
        System.out.println(LocalDateTime.now());
        RReadWriteLock readWriteLock = redissonClient.getReadWriteLock("rw-lock");
        String s = "";
        RLock rLock = readWriteLock.readLock();
        try {
            rLock.lock();
            s = redisTemplate.opsForValue().get("writeValue");
            Thread.sleep(5000);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            rLock.unlock();
            System.out.println(LocalDateTime.now());
        }
        return s;
    }

[/code]

 

可以在多线程环境中模拟测试下读写锁,你这种手动调用干扰因素太多

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题。

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

解决了吗?我也是同样的问题。