【ReentrantLock源码分析】公平锁&非公平锁
首先,先看一下ReentrantLock类结构。
这里可以看到,在ReentrantLock内部,有个Sync内部静态抽象类,该类继承自AbstractQueuedSynchronizer(AQS)
,并且有2个内部静态类的实现NonfairSync
与FairSync
,从类的名字就能看出来公平锁与非公平锁是通过Sync实现的。
首先,先看一下ReentrantLock类结构。
这里可以看到,在ReentrantLock内部,有个Sync内部静态抽象类,该类继承自AbstractQueuedSynchronizer(AQS)
,并且有2个内部静态类的实现NonfairSync
与FairSync
,从类的名字就能看出来公平锁与非公平锁是通过Sync实现的。