JAVA并发编程(12)-读写锁ReentrantReadWriteLock的实现分析

读写锁 读写锁分为读锁和写锁两个部分。读的部分是共享的,可以多个线程同时使用。写锁时互斥的。同一时刻只有一个线程可以写。并且写的时候不允许读。 我们知道AQS维护了一个 int类型的同步状态变量state。那如何用一个变量来实现读写的复杂控制呢?使用按位分段保存。一个int类型变量有32位二进制组成。将这32位分为高16位和低16位,高16位保存读状态,低16位保存写状态。如下图 那如何快速获取读
相关文章
相关标签/搜索