threadStatus的值为“225”,这是什么意思?

时间:2014-07-04 04:41:19

标签: java multithreading

Java Thread有一个名为threadStatus的属性。在我的调试期间,我发现它的值为225,但在Java API文档中找不到任何解释。谁可以帮助我?

我的意思是Class java.lang.Thread 的私有成员 private int threadStatus = 0;

2 个答案:

答案 0 :(得分:2)

java.lang.Thread中还有一个Map threadStateNames和另一个threadStateMap,它将整数值映射到names和Thread.State对象:请参阅这些。由于这些值来自本地JVM的内部,因此没有数值的一般文档,这很容易依赖于您的操作系统。

答案 1 :(得分:0)

我认为您所看到的是private volatile int threadStatus = 0;的值volatile类的Thread变量,其初始化为zero以表示Thread未启动意味着处于NEW状态。但是当您将start() Thread2方法称为Thread时,其他人说start仍然保持原样{{1}确保start不再被调用。

因此,例如,当您在任何Thread上致电!=0两次时,如果!=0的{​​{1}}比抛出IllegalThreadStateException,则检查此变量为{{1}}。

此变量在许多地方用于验证线程的值已经启动。

请注意,值的变化是在内部发生的。

我从Eclipse Community's Senior Member

得到了关注
  

该号码通过原生方法转换为可用的 State 枚举   java api。