Java Thread有一个名为threadStatus
的属性。在我的调试期间,我发现它的值为225,但在Java API文档中找不到任何解释。谁可以帮助我?
我的意思是Class java.lang.Thread 的私有成员
private int threadStatus = 0;
答案 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()
Thread
值2
方法称为Thread
时,其他人说start
仍然保持原样{{1}确保start
不再被调用。
因此,例如,当您在任何Thread
上致电!=0
两次时,如果!=0
的{{1}}比抛出IllegalThreadStateException
,则检查此变量为{{1}}。
此变量在许多地方用于验证线程的值已经启动。
请注意,值的变化是在内部发生的。
我从Eclipse Community's Senior Member
得到了关注该号码通过原生方法转换为可用的 State 枚举 java api。