ReentrantLock.lock()
2020-11-20 19:10:49 27 举报
Reetrrr
作者其他创作
大纲/内容
state=0
成功
FairSync.lock()
放入队列,AQS.acquireQueued()
ReentrantLock
直接进入acquire
否
判断锁是否被占&队列中没有等待的线程
放行
公平锁
公平和非公平的第二个区别
失败
是
马上尝试CAS获取锁
Sync.tryAcquire()
锁获取次数+1
尝试CAS获取锁
Sync.lock()
NonfairSync.lock()
仅判断锁是否被占
非公平
非公平锁
第一个公平和非公平的区别
AQS.acquire()
是否是自己占有锁
收藏
收藏
0 条评论
下一页