Java Thread имеет свойство с именем threadStatus
. Во время моего отладки я обнаружил, что он имеет значение 225, но не может найти никаких объяснений в документе API Java. Так кто может мне помочь?
Я имею в виду этого частного участника класса java.lang.Thread private int threadStatus = 0;
Я думаю, что вы видели значение private volatile int threadStatus = 0;
который является volatile
переменной Thread
класса, который инициализируется zero
, чтобы указать, что Thread
не начали средства в NEW
state.But при вызове start()
метод Thread
значения chages к чему - то еще сказать, 2
, который остается, как это после начала Thread
чтобы убедиться, что start
не будет вызван снова.
Так например, когда вы вызываете start
дважды в любом Thread
он проверяет эту переменную на !=0
если ее !=0
чем бросает IllegalThreadStateException
.
Значение этой переменной, используемое во многих местах для проверки Thread, было начато.
Обратите внимание, что изменение значения происходит внутри.
Я получил сообщение от старшего участника сообщества Eclipse
Число преобразуется с помощью собственных методов в перечисление состояния, доступное в java api.
Там, в java.lang.Thread, также есть Map threadStateNames и еще один, threadStateMap, которые отображают целочисленное значение для имен и объектов Thread.State: проконсультируйтесь с ними. Поскольку эти значения исходят из внутренних компонентов вашей локальной JVM, нет общей документации о числовом значении, которое зависит от вашей операционной системы.