java-ReentrantLock读写锁

1、读写锁,一个资源能被多个读者访问,或被一个写者访问,两者不能同时进行。

2、

public interface ReadWriteLock{

  lock readLock();

  lock writeLock();

}

3、ReentrantReadWriteLock为2个锁提供了可重进入的加锁语义。与ReentrantLock相同,ReentrantReadWriteLock能被构造成非公平或公平的。

在公平锁中,选择权交给等待时间最长的线程;如果锁由读者获得而一个线程请求写入锁,那不再允许读者获得读取锁,直到写者被受理,并且已经释放了写入锁。

在非公平锁中,线程允许访问的顺序是不定的。由写者降级为读者是允许的;从读者升级为写得是不允许的。

ReentrantReadWriteLock的写入锁有一个唯一的所有者。

4、使用说明

private final ReadWriteLock lock=newReentrantReadWriteLock();

private final Lock r=lock.readlock();

private final lock w=lock.writelock();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值