void method1() {
synchronized(this) { // Acquires intrinsic lock
method2();
}
}
void method2() {
synchronized(this) {} // Acquires same lock due to Reentrant synchronization
}
第一次在调用同步方法 2 的方法 1 中获得锁,第二次获得相同的锁。
现在我的疑问是,当同步块在 method2() 结束时,第一次在这里发生解锁并返回到 method1() 的同步块,第二次再次解锁。
它是否像 ReentrantLock 那样在内部管理锁的数量?