Повторный вход подкласса переопределяющий суперкласс - PullRequest
1 голос
/ 08 октября 2019

Я читал книгу "Java-параллелизм на практике", 2.3.2 Reentrancy. Он говорит: «, поскольку методы doSomething в Widget и LoggingWidget синхронизированы, каждый пытается получить блокировку для Widget перед продолжением ». Интересно, почему они все пытаются получить блокировку на виджете, а не на виджете LoggingWidget.

public class Widget{
    public synchronized void doSomething(){
        ...
    }
}

public class LoggingWidget extends Widget{
    public synchronized void doSomething(){
        System.out.println("calling doSomething");
        super.doSomething();
    }
}
...