РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1000 of 1163 menu

Метод isAlive

Метод isAlive класса Thread проверяет, является ли поток активным. Метод возвращает true, если поток был запущен и еще не завершил свое выполнение, и false в противном случае. Поток считается активным, если он был запущен через метод start и еще не завершился. Метод не принимает параметров и возвращает значение типа boolean.

Синтаксис

thread.isAlive()

Пример

Давайте создадим поток и проверим его состояние до запуска, во время выполнения и после завершения:

public class Main { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -> { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } }); System.out.println("Before start: " + thread.isAlive()); thread.start(); System.out.println("After start: " + thread.isAlive()); thread.join(); System.out.println("After join: " + thread.isAlive()); } }

Результат выполнения кода:

"Before start: false" "After start: true" "After join: false"

Пример

Давайте проверим активность главного потока и нового потока во время его работы:

public class Main { public static void main(String[] args) throws InterruptedException { Thread mainThread = Thread.currentThread(); System.out.println("Main is alive: " + mainThread.isAlive()); Thread thread = new Thread(() -> { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } }); thread.start(); while (thread.isAlive()) { System.out.println("Worker is still running..."); Thread.sleep(100); } System.out.println("Worker finished: " + thread.isAlive()); } }

Результат выполнения кода:

"Main is alive: true" "Worker is still running..." "Worker is still running..." "Worker is still running..." "Worker finished: false"

Смотрите также

  • метод join,
    который ожидает завершения потока
  • метод start,
    который запускает поток
  • метод interrupt,
    который прерывает поток
  • класс Thread,
    который представляет поток выполнения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить