Встречается на собеседованиях • сегодня
Может ли поток в synchronized методе войти еще раз в этот же метод
Да, может. В Java synchronized методы используют intrinsic lock (монитор) объекта или класса. Если поток уже владеет монитором, он может повторно войти в synchronized блок/метод - это называется реентерабельность (reentrant lock).
Пример:
java
public class ReentrantExample {
public synchronized void methodA() {
System.out.println("Inside methodA");
methodB(); // повторный вход разрешен
}
public synchronized void methodB() {
System.out.println("Inside methodB");
}
}Поток, вызвавший methodA(), сможет войти в methodB(), так как он уже владеет монитором объекта. Это предотвращает взаимоблокировки, когда поток блокирует сам себя.

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