ReentrantLock加锁过程
2022-07-06 21:30:22 3 举报
ReentrantLock加锁过程
作者其他创作
大纲/内容
acquire(1)
false
new NonfairSync()
1. 首先获取当前线程和state变量2. 如果state等于0,则表示没有任何线程获取到当前锁,则会调用hasQueuedPredecessors判断等待队列是否有线程在等待;span style=\"font-size: inherit;\
addWaiter(Node.EXCLUSIVE)创建新节点
new FairSync()
ReentrantLock(boolean fair) fair为true创建公平锁队列;否则创建非公平锁队列
调用lock方法进行加锁
tryAcquire(arg)尝试加锁
true
收藏
收藏
0 条评论
回复 删除
下一页