ReentrantLock(AQS)
2021-04-08 09:57:44 0 举报
简单的ReentrantLock(AQS)流程
作者其他创作
大纲/内容
将线程加到等待线程队尾
AQS
非公平锁
修改失败
是
唤醒等待队列队头线程
ReentrantLock----java级别ReentrantLock默认是非公平锁,是公平还是非公平主要看怎样去实现ReentrantLock就是AQS的一层API,其内部通过继承写了一个AQS对象
等待队列(FIFO)
state=0?
等待队列是否为空
state (int 0/1)
修改成功
设置加锁线程为当前线程
CAS修改state=1
加锁成功
F
公平锁
NF
ReentrantLock
加锁线程
否
加锁线程为当前线程?
0 条评论
下一页