Skip to content

Latest commit

 

History

History
39 lines (19 loc) · 681 Bytes

43_Read_Write_Lock.md

File metadata and controls

39 lines (19 loc) · 681 Bytes

读写锁

读写锁的特性:

  1. 多个读锁可以共存, 不互斥
  2. 写锁(的钥匙)只能同时存在1个, 也就是互斥。
  3. 有写锁的时候, 不能存在读锁。 反之也成立。
  4. 同一个线程, 读锁可以升级成写锁, 但需要满足前面的条件。
  5. 当然,也可以直接申请获得写锁, 需要满足前面的条件。

推导场景:

  1. 如果某个线程写锁没释放,则其他线程不能获得读锁,也不能获得写锁。
  2. 如果

创建语法如下:

ReadWriteLock locks = new ReentrantReadWriteLock();

官方说明文档如下:

ReadWriteLock

  • <./ReadWriteLock.md>

  • <./ReentrantReadWriteLock.md>