Redisson的trylock()与lock()区别

1、使用方法

		RLock lock = redissonClient.getLock("test");
        lock.lock();
        try {
            // 业务逻辑
        } finally {
            lock.unlock();
        }

       RLock lock = redissonClient.getLock("test");
       boolean result = lock.tryLock();
       if (result) {
           try {
               // 业务逻辑
           } finally {
               lock.unlock();
           }
       }

2、使用场景

1、tryLock是Redisson中的一个方法,用于尝试获取分布式锁。它的作用是尝试获取锁资源,如果成功获取到锁,则返回true,如果锁已经被其他线程占用,则立即返回false。
多用于: 计划任务、消费者消费

2、Redisson中的lock()方法是阻塞式获取分布式锁的方式。当调用lock()方法时,如果锁已经被其他线程持有,当前线程会被阻塞,直到获取到锁为止。一旦其他线程释放了锁,阻塞的线程会被唤醒,并在获取到锁之后继续执行后续代码。
多用于: 高并发,按顺序执行访问

相关推荐
疯一样的码农15 分钟前
Spring Boot Starter Parent介绍
java·spring boot·后端
iQM7517 分钟前
Spring Boot集成RBloomFilter快速入门Demo
java·spring boot·spring
爱上语文21 分钟前
Springboot 阿里云对象存储OSS 工具类
java·开发语言·spring boot·后端·阿里云
代码代码快快显灵3 小时前
java之异常处理
java·开发语言
茶馆大橘3 小时前
Spring Validation —— 参数校验框架
java·后端·学习·spring
阿望要努力上研究生5 小时前
若依项目搭建(黑马经验)
java·redis·node.js·maven·管理系统
一只脑洞君5 小时前
Kubernetes(K8s)的简介
java·容器·kubernetes
zygswo5 小时前
程序猿成长之路之设计模式篇——设计模式简介
java·设计模式
除了代码啥也不会6 小时前
springboot项目发送邮件
java·spring boot·spring