Java - 如何知道线程何时等待?

Ste*_*iks 25 java multithreading

知道线程何时进入wait状态是否有任何简洁的解决方案?当我需要它时wait,我正在为notify它们提供线程.但有时候我想知道线程当前是否在等待,如果是,我必须做其他事情.

我可能会自己设置一个标志为true/false.但我无法想象还有更好的方法吗?

Ale*_*ger 40

getState()线程的方法返回一个Thread.State可以是:

NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING或TERMINATED

请参见Thread.State.

  • 当然,到方法返回时,状态可能已经改变. (2认同)