Встречается на собеседованиях • сегодня
Будут ли два метода, помеченные как synchronized в контроллере-синглтоне, выполняться одновременно
Нет, synchronized методы в синглтоне блокируются на уровне объекта (this). Если один поток вошел в synchronized метод, другой поток не сможет войти ни в один synchronized метод этого же экземпляра до освобождения монитора.
Пример:
java
public class SingletonController {
private static SingletonController instance = new SingletonController();
private SingletonController() {}
public static SingletonController getInstance() {
return instance;
}
public synchronized void method1() {
// выполнение
}
public synchronized void method2() {
// выполнение
}
}Если поток A вызывает method1(), поток B не сможет войти ни в method1(), ни в method2() до завершения method1() у потока A.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы