AQS实现原理
2022-06-25 15:18:12 8 举报
ReentrantLock源码分析
作者其他创作
大纲/内容
检查锁的方式
抢占锁
thread加入到链表中
prev
锁的实现逻辑
维护阻塞的线程locksupport.park()
唤醒thread2
执行代码:int a = 1;int b = 2;int sum = a + b;
locksupport.unpark(thread)
tail
lock()
thread1获取成功
thread3
释放锁
node
Thread1
Thread2
竞争锁
唤醒阻塞线程
int state = 1->0
head
unlock()
thread2
抢占失败
阻塞
双向链表
next
Thread3
释放锁逻辑
0 条评论
下一页