ReentrantReadWriteLock 简介
程序员文章站
2022-07-12 19:34:40
...
1.首先说明 ReentrantReadWriteLock 和 IO操作没有关系,只是说将读操作和写操作分开,提高性能
2.实现原理:
用 state 的高 16 位表示读锁的数量,用 state 的低 16位表示写锁的数量
可以申请到写锁的条件:
1.没有线程持有锁(读锁和写锁,锁是不能升级的,比如说当前线程持有读锁,但是后面该线程申请不到写锁)
2.当前线程持有写锁(这种情况时说,本线程已经持有锁了,换句话说,WriteLock 是可重入锁)
可以申请到读锁的条件:
1.没有线程持有锁
2.当前线程持有写锁
2.实现原理:
用 state 的高 16 位表示读锁的数量,用 state 的低 16位表示写锁的数量
可以申请到写锁的条件:
1.没有线程持有锁(读锁和写锁,锁是不能升级的,比如说当前线程持有读锁,但是后面该线程申请不到写锁)
2.当前线程持有写锁(这种情况时说,本线程已经持有锁了,换句话说,WriteLock 是可重入锁)
可以申请到读锁的条件:
1.没有线程持有锁
2.当前线程持有写锁
上一篇: webpack简单入门
下一篇: Java多线程笔记2——线程的状态