如果我有一个变量名为myThread的线程实例,我如何才能知道它是否处于RUNNABLE状态?

时间:2013-02-27 18:49:53

标签: java

我看了这个api,但没找到我要找的信息:

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.State.html#RUNNABLE

2 个答案:

答案 0 :(得分:1)

如果您已经有线程参考,那么您可以使用Thread.getState()

Thread.State state = myThread.getState();
if (state == Thread.State.RUNNABLE) {
    ...
}

但是,请注意,由于线程的性质,状态可以在调用getState()和使用结果之间轻松更改。除了用于诊断目的之外,使用getState()并不是一个好主意。

答案 1 :(得分:1)

你可以写:

if (myThread.getState() == Thread.State.RUNNABLE)

(见the Javadoc for Thread.getState()。)