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

Будет ли выброшен Exception при Deadlock

Deadlock сам по себе не вызывает исключений в Java. Это ситуация, когда потоки блокируют друг друга, ожидая ресурсы, но JVM не распознаёт это как ошибку.

Пример deadlock:

java
Object lock1 = new Object();
Object lock2 = new Object();

new Thread(() -> {
synchronized(lock1) {
synchronized(lock2) {} // Ждёт lock2
}
}).start();

new Thread(() -> {
synchronized(lock2) {
synchronized(lock1) {} // Ждёт lock1
}
}).start();

text

Программа просто зависнет, но исключение не выбросится. Для обнаружения deadlock можно использовать:
- Визуальный анализ кода
- Инструменты вроде `jstack`
- Мониторинг через JMX

Deadlock - логическая ошибка, а не исключительная ситуация.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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