void method1() {
synchronized(this) { // Acquires intrinsic lock
method2();
}
}
void method2() {
synchronized(this) {} // Acquires same lock due to Reentrant synchronization
}
第一次锁定在method1中获得,该方法调用synchronized方法2,其中第二次获取相同的锁定。可重入同步 - 所谓同步方法的解锁
现在我的疑问是当方法2()中的同步块结束时,第一次发生解锁并返回到方法1()的同步块,其中第二次再次解锁。
它是否在内部管理ReentrantLock之类的锁计数?