Reentlock实现原理摘记
ReentrantLock实现原理摘记
ReentLock实现了Lock接口,内部定义了一个final 的抽象类 Sync 他继承了AQS,因此ReentLock的很多事情其实都是由Sync类做的,而sync类中的方法实现都要借助AQS.
Sync 有俩个子类,分别是公平锁类FairSync,和非公平锁 NonfairSync ,以下是非公平锁获取锁的流程:
如果cas失败,则直接尝试抢锁
如果抢锁失败,则将当前线程封装为,EXCLUSIVE节点,加入CLH队列,并且让当前线程阻塞,
tryAcquir
原创
2021-10-07 23:44:47 ·
1089 阅读 ·
1 评论