Встречается на собеседованиях • сегодня

Будут ли два статических метода, помеченные как synchronized в контроллере-синглтоне, выполняться одновременно

Нет, они не будут выполняться одновременно. В Java synchronized статические методы блокируются на уровне класса (Class объекта), а не экземпляра. Даже в синглтоне, где есть только один экземпляр, статические synchronized методы используют монитор класса, поэтому второй метод будет ждать, пока первый не завершится.

Пример:

java
public class SingletonController {
    public static synchronized void method1() {
        // Код метода 1
    }

    public static synchronized void method2() {
        // Код метода 2
    }
}

Если один поток вызывает method1(), другой поток не сможет войти ни в method1(), ни в method2(), пока первый не освободит монитор.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы