- 自旋锁,自旋,jvm默认是10次,由jvm自己控制,for去争取锁
- 阻塞锁 被阻塞的线程,不会争夺锁
- 可重入锁,多次进入改锁的域
- 读写锁
- 互斥锁,锁本身就是互斥的
- 悲观锁,不相信这里是安全的,必须全部上锁
- 乐观锁,相信这里是安全的
- 公平锁,有优先级的锁
- 非公平锁,无优先级的锁
- 偏向锁,无竞争不锁,有竞争挂起,转为轻量锁
- 对象锁,锁住对象
- 线程锁
- 锁粗化 ,多锁变成一个,自己处理
- 轻量级锁 ,CAS实现
- 锁消除 ,偏向锁就是锁消除的一种
- 锁膨胀 , jvm实现,锁粗化
- 信号量,使用阻塞锁实现的一种策略
不包含:排他锁,X锁,若事务T对数据对象A加上x锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A
转载:http://blog.youkuaiyun.com/wenwen360360/article/details/62238140