java中线程状态-死亡
生活随笔
收集整理的這篇文章主要介紹了
java中线程状态-死亡
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
線程死亡:
線程會以如下3種方式結束,結束后就處于死亡狀態。
1、run()或call()方法執行完成,線程正常結束。
2、線程拋出一個未捕獲的Exception或Error
3、直接調用該線程的stop方法結束該線程---該方法容易導致死鎖,通常不推薦使用。
為了測試某個線程是否已經死亡,可以調用線程對象isAlive()方法,當線程處于就緒、運行、阻塞三種狀態時,該方法返回true;當線程處于新建、死亡兩種狀態,該方法將返回false。
注意:不要試圖對一個死亡的線程調用start方法使它重新啟動,死亡就是死亡,該線程不可能再次作為線程執行。(如果重新啟動的話,運行之后將引發IllegalThreadStateException異常,這表明處于死亡狀態的線程無法再次運行了。)
public class StartDead extends Thread {
private int i;
public void run(){
for(;i<30;i++){
try{sleep(1000);
System.out.println(getName()+" "+i);}catch(Exception e){
System.out.println(e);
}
}
}
public static void main(String[] args){
StartDead s=new StartDead();
for(int k=0;k<100;k++){
//Thread.sleep(1000);
try{System.out.println("當先線程的名字是:"+Thread.currentThread().getName()+" "+k);
Thread.sleep(1000);}catch(Exception e){
System.out.println(e);
}
if(k==5){
s.start();
System.out.println(s.isAlive());
}
if(k>5&& !s.isAlive()){
s.start();
}
}
}
}
總結
以上是生活随笔為你收集整理的java中线程状态-死亡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广州有哪些比较著名好玩的景点(广州十大必
- 下一篇: Python多行注释