Java: Zagnieżdżone bloki synchronizacji

Widziałem to w jednym z filmów Heinza KabutzaSpecjalista ds. Java wydania biuletynu i, choć reszta (a nawet wszystkie) artykułów dr Kabutza są dobrze wyjaśnione i szczegółowe, wydawało się, że zastanawia się nad tym, co robi ten kod, a co ważniejsze, jakie jest jego znaczenie:

<code>public class SomeObject {
    private Object lock1;
    private Object lock2;

    public void doSomething() {
        synchronized(lock1) {
            synchronized(lock2) {
                // ...
            }
        }
    }
}
</code>

Jakie są konsekwencje zagnieżdżaniasynchronized Bloki? Jak to wpływa na różne wątki próbującedoSomething()?

questionAnswers(3)

yourAnswerToTheQuestion