一、内置锁sync 和 显示锁lock概念
1、synv锁又叫内置锁,不能中断,拿不到无限等待即阻塞;
java自带关键字;
隐式可重入;
重入锁:锁对应对象要多次调用对应方法,如递归
2、
lock的lockinterruptiply意思是可中断的;语言层面的接口;
其实现类reentrantlock 可重入锁,sync锁显示对应,可以理解为sync关键字在lock接口下的实现;
3、重入锁:锁对应对象要多次调用对应方法,如递归;
可重入锁,sync内置锁,多次获取和释放,计数器加1减1,方法结束则释放和减1
4、公平锁和非公平锁
公平锁是先到先得,对资源请求先到先得;
无特殊要求,就是用sync内置锁;
非公平锁效率高的原理:
挂起是暂时移除cpu缓存,不是阻塞,阻塞是等待某一条件;
因为B挂起状态解除需要时间,所以非公平锁效率更高;
reentrantLock构造不传true,默认是非公平锁: