void method1() {
synchronized(this) { // Acquires intrinsic lock
method2();
}
}
void method2() {
synchronized(this) {} // Acquires same lock due to Reentrant synchronization
}
Первый тайм-ключ, полученный в методе 1, который вызывает синхронизированный метод2, где второй раз он получает ту же блокировку.Реинтеграция Синхронизация - разблокировка вызванного синхронизированного метода
Теперь я сомневаюсь, что когда синхронизированный блок заканчивается в методе2(), разблокировка происходит здесь в первый раз и возвращается к синхронизированному блоку метода1(), где снова разблокировка происходит во второй раз.
Он внутренне управляет количеством замков, как в ReentrantLock?