1、用法
//初始化读锁和写锁
ReentrantReadWriteLock rwl = new ReentrantReadWriteLock()
ReentrantReadWriteLock
.ReadLock rlock = rwl
.readLock()
ReentrantReadWriteLock
.WriteLock wlock = rwl
.writeLock()
//加解锁
rlock
.lock()
wlock
.lock()
常见的用于cache一类读多写少的场景。使用ReentrantReadWriteLock。
2、原理。 readLock支持多线程同时获取锁。 writeLock与其他锁互斥。 参考这个帖子,不在赘述。 https://blog.csdn.net/yanyan19880509/article/details/52435135 https://blog.csdn.net/prestigeding/article/details/53286756