package thread;
public class createthread
// 重新啟動乙個子執行緒
thread td = new subthread();
td.start();
system.out.println("已建立新的子執行緒: " + td.getname());
}} }
}
package thread;
public class subthread extends thread
} public subthread()
}} }
public void run() catch (exception e) finally catch (interruptedexception e)
system.out.println("----" + this.getname() + " 所占用資源釋放完畢,當前系統正在執行的子執行緒數:"
+ threadcounts);
}system.out.println("<<--" + this.getname() + "執行結束");
} }static public int getthreadcounts()
}}
某次執行結果:
已建立新的子執行緒: 子執行緒_1
已建立新的子執行緒: 子執行緒_2
已建立新的子執行緒: 子執行緒_3
-->>子執行緒_2開始執行
已建立新的子執行緒: 子執行緒_4
-->>子執行緒_4開始執行
已建立新的子執行緒: 子執行緒_5
已建立新的子執行緒: 子執行緒_6
-->>子執行緒_6開始執行
已建立新的子執行緒: 子執行緒_7
已建立新的子執行緒: 子執行緒_8
已建立新的子執行緒: 子執行緒_9
已建立新的子執行緒: 子執行緒_10
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
-->>子執行緒_1開始執行
-->>子執行緒_8開始執行
-->>子執行緒_10開始執行
-->>子執行緒_3開始執行
-->>子執行緒_5開始執行
-->>子執行緒_7開始執行
-->>子執行緒_9開始執行
----子執行緒_2 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
已建立新的子執行緒: 子執行緒_2
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
<<--子執行緒_2執行結束
-->>子執行緒_2開始執行
----子執行緒_4 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_4執行結束
已建立新的子執行緒: 子執行緒_4
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
-->>子執行緒_4開始執行
----子執行緒_6 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_6執行結束
----子執行緒_10 所占用資源釋放完畢,當前系統正在執行的子執行緒數:8
<<--子執行緒_10執行結束
----子執行緒_8 所占用資源釋放完畢,當前系統正在執行的子執行緒數:7
<<--子執行緒_8執行結束
已建立新的子執行緒: 子執行緒_6
已建立新的子執行緒: 子執行緒_8
已建立新的子執行緒: 子執行緒_10
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
----子執行緒_1 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_1執行結束
-->>子執行緒_6開始執行
-->>子執行緒_10開始執行
已建立新的子執行緒: 子執行緒_1
----子執行緒_7 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_7執行結束
----子執行緒_9 所占用資源釋放完畢,當前系統正在執行的子執行緒數:8
<<--子執行緒_9執行結束
-->>子執行緒_8開始執行
-->>子執行緒_1開始執行
----子執行緒_5 所占用資源釋放完畢,當前系統正在執行的子執行緒數:7
<<--子執行緒_5執行結束
----子執行緒_3 所占用資源釋放完畢,當前系統正在執行的子執行緒數:6
<<--子執行緒_3執行結束
已建立新的子執行緒: 子執行緒_3
已建立新的子執行緒: 子執行緒_5
-->>子執行緒_5開始執行
已建立新的子執行緒: 子執行緒_7
已建立新的子執行緒: 子執行緒_9
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
-->>子執行緒_9開始執行
-->>子執行緒_3開始執行
-->>子執行緒_7開始執行
----子執行緒_4 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_4執行結束
----子執行緒_8 所占用資源釋放完畢,當前系統正在執行的子執行緒數:8
<<--子執行緒_8執行結束
----子執行緒_1 所占用資源釋放完畢,當前系統正在執行的子執行緒數:7
<<--子執行緒_1執行結束
已建立新的子執行緒: 子執行緒_1
已建立新的子執行緒: 子執行緒_4
-->>子執行緒_4開始執行
已建立新的子執行緒: 子執行緒_8
-->>子執行緒_1開始執行
-->>子執行緒_8開始執行
----子執行緒_5 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_5執行結束
已建立新的子執行緒: 子執行緒_5
----子執行緒_2 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_2執行結束
----子執行緒_6 所占用資源釋放完畢,當前系統正在執行的子執行緒數:8
<<--子執行緒_6執行結束
-->>子執行緒_5開始執行
----子執行緒_10 所占用資源釋放完畢,當前系統正在執行的子執行緒數:7
<<--子執行緒_10執行結束
----子執行緒_9 所占用資源釋放完畢,當前系統正在執行的子執行緒數:6
<<--子執行緒_9執行結束
已建立新的子執行緒: 子執行緒_2
已建立新的子執行緒: 子執行緒_6
已建立新的子執行緒: 子執行緒_9
已建立新的子執行緒: 子執行緒_10
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
-->>子執行緒_6開始執行
-->>子執行緒_10開始執行
----子執行緒_3 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
已建立新的子執行緒: 子執行緒_3
系統當前執行緒數為:10,已達到最大執行緒數 10,請等待其他執行緒執行完畢並釋放系統資源
<<--子執行緒_3執行結束
----子執行緒_7 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
已建立新的子執行緒: 子執行緒_7
<<--子執行緒_7執行結束
-->>子執行緒_2開始執行
-->>子執行緒_9開始執行
-->>子執行緒_7開始執行
-->>子執行緒_3開始執行
----子執行緒_4 所占用資源釋放完畢,當前系統正在執行的子執行緒數:9
<<--子執行緒_4執行結束
----子執行緒_1 所占用資源釋放完畢,當前系統正在執行的子執行緒數:8
<<--子執行緒_1執行結束
----子執行緒_8 所占用資源釋放完畢,當前系統正在執行的子執行緒數:7
<<--子執行緒_8執行結束
----子執行緒_5 所占用資源釋放完畢,當前系統正在執行的子執行緒數:6
<<--子執行緒_5執行結束
----子執行緒_6 所占用資源釋放完畢,當前系統正在執行的子執行緒數:5
<<--子執行緒_6執行結束
----子執行緒_10 所占用資源釋放完畢,當前系統正在執行的子執行緒數:4
<<--子執行緒_10執行結束
----子執行緒_2 所占用資源釋放完畢,當前系統正在執行的子執行緒數:3
<<--子執行緒_2執行結束
----子執行緒_7 所占用資源釋放完畢,當前系統正在執行的子執行緒數:2
<<--子執行緒_7執行結束
----子執行緒_9 所占用資源釋放完畢,當前系統正在執行的子執行緒數:1
<<--子執行緒_9執行結束
----子執行緒_3 所占用資源釋放完畢,當前系統正在執行的子執行緒數:0
<<--子執行緒_3執行結束
Java 執行緒生命控制
乙個執行緒的產生是從我們呼叫了start方法開始進入runnable狀態,即可以被排程執行狀態,並沒有真正開始執行,排程器可以將cpu分配給它,真正執行其中的程式 執行緒在執行過程中,有以下幾個可能的去向 沒有任何阻隔,執行完成直接結束,也就是run 方法執行完畢。排程器將cpu分配給其他執行緒,這...
Java 執行緒生命週期,執行緒控制
新建 就緒 阻塞 執行 死亡 執行緒狀態。執行緒可以處於下列狀態之一 在給定時間點上,乙個執行緒只能處於一種狀態。這些狀態是虛擬機器狀態,它們並沒有反映所有作業系統執行緒狀態。執行緒控制 start 啟動執行緒 interrupt 中斷執行緒,喚醒正在休眠執行緒 檢測當前執行緒是否被中斷 isint...
JAVA學習 多執行緒之控制線程
一 join 加入執行緒 呼叫join 方法後,主線程會進入阻塞,直到呼叫join 的執行緒執行完成,才繼續回到主線程。join 方法使用思路 join 方法主要由使用執行緒的程式使用,將大問題分解為許多個小問題,每個小問題分配乙個執行緒,當所有小問題都解決完後,再回到主線程進行進一步操作。clas...