我在想如何知道線程是否正在睡眠。 我搜索了周圍,我收集了一些信息,形成這些信息我寫了一個方法 isSleeping():布爾,我想我可以放在一個類,以確定線程是否睡覺或不。我只想知道我可能錯過了什麼。注意:我沒有經驗0天的經驗。確定線程是否正在睡眠
//isSleeping returns true if this thread is sleeping and false otherwise.
public boolean isSleeping(){
boolean state = false;
StackTraceElement[] threadsStackTrace = this.getStackTrace();
if(threadsStackTrace.length==0){
state = false;
}
if(threadsStackTrace[0].getClassName().equals("java.lang.Thread")&&
threadsStackTrace[0].getMethodName().equals("Sleep")){
state = true;
}
return state;
}
所以這不會對你沒有創建線程......包括主要工作。我不知道有足夠多的東西可以輕鬆地改變JVM在啓動時使用它,並通過它創建所有線程創建。此外,您將在中斷時永久停留在睡眠狀態。 – djechlin 2013-03-13 15:36:47