1

我查看了这个 api,但没有找到我正在寻找的信息:

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

4

2 回答 2

1

好吧,如果您已经有了线程参考,则可以使用Thread.getState()

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

但是,请注意,由于线程的性质,状态很容易在调用getState()和使用结果之间发生变化。getState()除了用于诊断目的之外,使用它很少是一个好主意。

于 2013-02-27T18:51:21.530 回答
1

你可以写:

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

(请参阅Javadoc 了解Thread.getState().)

于 2013-02-27T18:51:28.350 回答