可重入锁就比如自己家的大门,把大门的所打开之后,内层厨房、卧室视同无锁。(前提:锁对象是同一个对象)
可重复递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁,这样的锁就叫做可重入锁。
1. Object 隐式锁synchronized(自动挡车,无需手动解锁)
同步代码块
static Object objectLockA = new Object();
同步方法
原理
2. 显式锁Lock -> ReentranLock (自动挡车,需要手动解锁)
lock几次,就要unlock几次,否则会有线程不被唤醒,导致后面程序无法执行