Статьи

Готовые к собеседованию фрагменты кода для состояний жизненного цикла потока

Продолжайте читать, чтобы узнать некоторые технические вопросы интервью Java!

Практически любое техническое интервью по Java содержит несколько вопросов, охватывающих темы параллелизма Java. Обычный сценарий для звука начального и среднего уровня звучит так:

Интервьюер: Можете ли вы перечислить состояния жизненного цикла потока Java?

Кандидат: Да, конечно! Итак, мы имеем: NEW , RUNNABLE , BLOCKED , WAITING , TIMED_WAITING , и TERMINATED .

Опрашивающий: Хорошо! Теперь, вы можете написать фрагмент кода, который показывает BLOCKED состояние?

Что ж, давайте посмотрим, как мы можем написать фрагменты кодов для каждого состояния.

Вам также может понравиться: Как читать дамп темы

Состояния потока Java выражаются посредством Thread.State перечисления. Возможные состояния потока Java показаны на следующей диаграмме:

Существуют следующие состояния жизненного цикла:

  • NEW Состояние.
  • RUNNABLE Состояние.
  • BLOCKED Состояние.
  • WAITING Состояние.
  • TIMED_WAITING Состояние.
  • TERMINATED Состояние.

Давайте узнаем обо всех различных состояниях в следующих разделах.

НОВОЕ Государство

Поток Java находится в NEW состоянии, если он создан, но не запущен (конструктор потока создает потоки в NEW состоянии). Это его состояние, пока start() метод не будет вызван. Код в комплекте с этой статьей содержит несколько фрагментов коды , которые показывают это состояние с помощью различных методов строительства, в том числе лямбды. Для краткости ниже приводится лишь одна из этих конструкций:


Джава