有几个特性,读锁是共享的,能被多个线程占有。写锁是独占的。只能有一个线程占有。获取了写锁能在获取读锁成为锁降级。获取了读锁不能再获取写锁。也不支持锁升级。
写锁的获取
tryAcquire方法
writerShouldBlock方法,非公平锁直接返回false,公平锁如下。
写锁的释放
tryRelease方法
有几个特性,读锁是共享的,能被多个线程占有。写锁是独占的。只能有一个线程占有。获取了写锁能在获取读锁成为锁降级。获取了读锁不能再获取写锁。也不支持锁升级。
写锁的获取
tryAcquire方法
writerShouldBlock方法,非公平锁直接返回false,公平锁如下。
写锁的释放
tryRelease方法
相关文章: