Можем ли мы определить синхронизированный блок внутри синхронизированного метода?

В Java мы можем определить синхронизированный блок внутри синхронизированного метода? Если да, пожалуйста, объясните мне пример

1 ответ

Это очень возможно:

public class Locker {
    private final Object lock = new Object();
    synchronized void something() {
        synchronized (lock) {
            // tada
        }
    }
}

Полезность этого сомнительна, хотя. Такое ощущение, что это увеличивает риск тупиков с огромным отрывом.

Другие вопросы по тегам