AQS-ReentrantLock加锁和释放锁的底层原理
2021-07-22 23:56:40 3 举报
AQS-ReentrantLock加锁和释放锁的底层原理
作者其他创作
大纲/内容
线程2
xxx
4、CAS失败后,尝试加锁线程、失败
等待队列
ReentrantLock
AbstractQueuedSynchronizer
3、尝试将stat=0设置为1,失败
state=1
8、尝试CAS设置为1
9加锁成功设置线程=2
1、CAS成功,设置为1
2、如果CAS成功,加锁线程设置为当前线程1
6、处理完,释放锁,设置stat=0
线程=线程1
线程1
xxxx
5、加锁失败、进入等待队列了
7、唤醒线程2
0 条评论
下一页