ReentrantLock锁的实现

ReentrantLock基于AQS,在并发编程中可以实现公平锁非公平锁来对同步资源进行控制,并且是可重入锁。

1.ReentrantLock中的类的继承结构:

 ReentrantLock锁的实现_第1张图片

 

2.构造方法:

ReentrantLock锁的实现_第2张图片

3.非公平锁的实现

ReentrantLock锁的实现_第3张图片 

看是否能够通过CAS来设置state来获取到锁,如果不行,则进入acquire方法。

4.公平锁的实现

ReentrantLock锁的实现_第4张图片

  直接进入acquire()方法,底层交由AQS来实现。

 

你可能感兴趣的:(并发编程,java,开发语言)