Состояния потоков

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

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

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

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

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

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

Read also:
Trustpilot
Trustpilot
Comments