文章目录
一:常见的锁策略
synchronized是什么锁:总的来说,synchronized是一把自适应锁,它既是乐观锁(基于自旋锁实现)也是悲观锁(基于挂起等待实现);即是轻量级锁也是重量级锁;不是读写锁,是普通互斥锁;是非公平锁;是可重入锁
(1)乐观锁与悲观锁
乐观锁:预测锁冲突的概率不高,因此所做工作可以简单一些
悲观锁:预测锁冲突的概率较高,因此所做工作就要负责一些
举个例子:同学A和同学B想请教老师问题
- 乐观锁:同学A认为“老师是比较闲的,现在去问问题,大概率有空解答”。因此同学A直接就会来找老师(没有加锁,直接访问资源)。如果老师确实比较闲,那么问题就直接解决了;如果老师比较忙