目录
1、锁的分类
1.1 可重入锁、不可重入锁
1.1.1 定义
1.2 乐观锁、悲观锁
1.2.1 定义
1.3 公平锁、非公平锁
1.3.1 定义
1.4 互斥锁、共享锁
1.4.1 定义
2、synchronized
2.1 类锁,对象锁
2.2 synchronized 优化
2.3 synchronized实现原理
2.4 synchronized的锁升级
2.5 重量锁底层ObjectMonitor
ObjectMonitor核心属性:
C++中实现的加锁流程:
TryLock:
try_enter:
enter
EnterI
3、AQS概述
3.1 AQS重要参数
3.2 AQS常见的问题
3.2.1 AQS中为什么要有一个虚拟的head节点
3.2.2 AQS中为什么选择使用双向链表,而不是单向链表
4、ReentrantLock