共計 830 個字符,預計需要花費 3 分鐘才能閱讀完成。
Java 線程的狀態可以通過 Thread 類提供的 getState() 方法來判斷。getState() 方法返回一個枚舉值,表示線程的狀態,常用的枚舉值有:
1. NEW:線程剛創建,還未啟動;
2. RUNNABLE:線程正在執行;
3. BLOCKED:線程因為等待鎖資源而被阻塞;
4. WAITING:線程正在等待另一個線程執行特定的操作;
5. TIMED_WAITING:線程正在等待另一個線程執行特定的操作,但有等待時間限制;
6. TERMINATED:線程執行完畢或者被中斷。
示例代碼如下:
Thread.State state = thread.getState();
if(state == Thread.State.NEW) {????System.out.println(“線程狀態:NEW”);
}?else?if(state?==?Thread.State.RUNNABLE)?{
????System.out.println(“線程狀態:RUNNABLE”);
}?else?if(state?==?Thread.State.BLOCKED)?{
????System.out.println(“線程狀態:BLOCKED”);
}?else?if(state?==?Thread.State.WAITING)?{
????System.out.println(“線程狀態:WAITING”);
}?else?if(state?==?Thread.State.TIMED_WAITING)?{
????System.out.println(“線程狀態:TIMED_WAITING”);
}?else?if(state?==?Thread.State.TERMINATED)?{
????System.out.println(“線程狀態:TERMINATED”);
}
需要注意的是,getState() 方法只能獲取當前線程的狀態,無法獲取其他線程的狀態。
丸趣 TV 網 – 提供最優質的資源集合!