Состояния потоков в многопоточности

Author: Tatyana Milkina

Поток может находиться в одном из следующих состояний:

  • New - объект класса Thread создан, но еще не запущен. Он еще не является потоком выполнения и естественно не выполняется.
  • Runnable - поток готов к выполнению, но планировщик еще не выбрал его.
  • Running – поток выполняется.
  • Waiting/blocked/sleeping - поток блокирован или поток ждет окончания работы другого потока.
  • Dead - поток завершен. Будет выброшено исключение при попытке вызвать метод start() для dead потока.

Существуют перечисление Thread.State, содержащее значения возможных состояний потока: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED.

 Получить текущее значение состояния потока можно вызовом метода getState() класса Thread.

Граф состояния потоков

Граф состояния потоков фото

Курс 'Java для начинающих' на Udemy Курс 'Java для начинающих' на Udemy
Читайте также:
Комментарии