Объясните, что означает исключение InterruptedException и в каких случаях оно возникает в Java?

Это исключение сигнализирует, что текущий поток был прерван, и обычно его нужно обработать, чтобы корректно завершить работу или выполнить очистку.

Короткий ответ

Что ответить на собеседовании

Исключение InterruptedException в Java возникает, когда поток, который находится в состоянии ожидания, сна или блокировки (например, при вызове методов Thread.sleep(), wait(), join() или при работе с блокирующими очередями), прерывается другим потоком с помощью метода interrupt().

Подробный разбор

Ответ с пояснениями

Исключение InterruptedException в Java возникает, когда поток, который находится в состоянии ожидания, сна или блокировки (например, при вызове методов Thread.sleep(), wait(), join() или при работе с блокирующими очередями), прерывается другим потоком с помощью метода interrupt().

Это исключение сигнализирует, что текущий поток был прерван, и обычно его нужно обработать, чтобы корректно завершить работу или выполнить очистку. Обработка прерывания позволяет реагировать на запросы остановки или отмены операций.

Пример:

try {
    Thread.sleep(10000); // поток спит 10 секунд
} catch (InterruptedException e) {
    // поток был прерван во время сна
    Thread.currentThread().interrupt(); // восстанавливаем статус прерывания
    System.out.println("Поток был прерван");
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее