Junior
49
questionbank

Что такое исключение InterruptedException?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

InterruptedException — это контролируемое (checked) исключение в Java, которое генерируется, когда поток ожидает, спит или занят какой-либо другой активностью, и эта активность прерывается другим потоком.

Основные моменты:

  • Наследуется от Exception.
  • Указывает, что поток, который был блокирован (например, в методах wait(), sleep(), join(), в блокирующих операциях ввода-вывода), получил запрос на прерывание.
  • При выбрасывании этого исключения поток очищает флаг прерывания.

Пример обработки:

java

Правильная обработка InterruptedException важна для создания надежных многопоточных приложений. Типичные стратегии:

  1. Перебросить исключение дальше (throw new InterruptedException();).
  2. Повторно установить флаг прерывания (Thread.currentThread().interrupt();) и, возможно, завершить выполнение.
  3. Захватить исключение, выполнить очистку и завершить выполнение потока.