Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

InterruptedException

Проверяемое исключение: ожидающий поток попросили прерваться.

Доступно с: Java 1.0

Синтаксис

public class InterruptedException extends Exception

Примеры

Прерывание спящего потока:

void main() throws InterruptedException {
    Thread worker = new Thread(() -> {
        try {
            Thread.sleep(10_000);
            IO.println("finished");
        } catch (InterruptedException e) {
            IO.println("interrupted, stopping");
        }
    });
    worker.start();
    Thread.sleep(100);
    worker.interrupt();
    worker.join();
}

Результат:

interrupted, stopping

Примечания

Его бросают методы, которые ждут: sleep(), join(), Future.get(), CountDownLatch.await(). Прерывание — вежливая просьба остановиться. Не глотайте исключение пустым catch: либо завершите работу, либо восстановите флаг через Thread.currentThread().interrupt().

См. также

  • Thread.sleep() — Приостанавливает текущий поток на заданное время.
  • Thread.join() — Ждёт, пока поток завершится.
  • Future.get() — Ждёт завершения задачи и возвращает её результат.

В учебнике

  • Потоки выполнения — Потоки в Java — класс Thread, запуск через start, ожидание через join, Thread.sleep, имена потоков и непредсказуемый порядок выполнения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.