retrantLock'
2020-11-20 17:39:52 4 举报
登录查看完整内容
reetranLock
作者其他创作
大纲/内容
1.获取当前线程2.获取当前锁的状态getState()
是
通过getExclusiveOwnerThread获取当前锁属于哪个线程
返回fasle
ReentranLock
判断锁状态是否为0
非0
是否属于本线程
T2
更改当前锁状态,将现在的状态+1
获取锁失败,将线程加入等待队列,尝试加入队列
将exclusiveOwnerThread线程设置为该线程
公平锁
进行CAS操作(调用魔术类,更改锁状态为1),
LOCK
返回false
3.判断队列中是是否有正在等待的线程
T1
否
tryAcquire,尝试获取锁
0说明没有线程获得该锁
0 条评论
回复 删除
下一页