Redisson可重入读写锁
一、可重入读写锁概述
Redisson分布式可重入读写锁(RReadWriteLock) Java对象,实现了java.util.concurrent.locks.ReadWriteLock接口。其中读锁和写锁都继承了RLock接口。
分布式可重入读写锁允许同时有多个读锁和一个写锁处于加锁状态。
二、实践
使用方式如下:
RReadWriteLock rwlock = redisson.getReadWriteLock("锁的名字");
// 最常见的使用方法
rwlock.readLock().lock();
// 或
rwlock.writeLock().lock();
或
// 10秒钟以后自动解锁
// 无需调用unlock方法手动解锁
rwlock.readLock().lock(10, TimeUnit.SECONDS);
// 或
rwlock.writeLock().lock(10, TimeUnit.SECONDS);
// 尝试加锁,最多等待100秒,上锁以后10秒自动解锁
boolean res = rwlock.readLock().tryLock(100, 10, TimeUnit.SECONDS);
// 或
boolean res = rwlock.writeLock().tryLock(100, 10, TimeUnit.SECONDS);
...
lock.unlock();
还没有评论,来说两句吧...