Встречается на собеседованиях • сегодня
Будет ли выброшен 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 - логическая ошибка, а не исключительная ситуация.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы