本文實例講述了Java之Thread的join方法。分享給大家供大家參考。具體實作方法如下:
join
public final void join()
throws InterruptedException等待該執行緒終止。
拋出:
InterruptedException - 如果任何執行緒中斷了目前執行緒。當拋出該異常時,當前執行緒的中斷狀態被清除。
下面的例子通俗的講,就是A呼叫join方法後,只有等A所在的執行緒不再運行,才會將行程分配出去
複製程式碼如下:public class joinThread {
public static void main(String [] args) throws Exception{
ThreadTest5 t = new ThreadTest5();
Thread A = new Thread(t);
Thread B = new Thread(t);
A.start();
A.join(); //此處A呼叫Thread的join方法,主函數將執行緒分配給A,當A運行完畢後,才會將執行緒釋放出去。給其他的對象。
B.start();
for (int i = 1;i < 20;i++)
{
System.out.println("樹上掉蘋果"+ i);
}
System.out.println("蘋果沒了");
}
}
class ThreadTest5 implements Runnable
{
public void run()
{
for (int i = 1;i < 10;i++)
{
System.out.println(Thread.currentThread().getName()+"吃蘋果"+(i));
}
}
}
運行結果為:
Thread-0吃蘋果1
Thread-0吃蘋果2
Thread-0吃蘋果3
Thread-0吃蘋果4
Thread-0吃蘋果5
Thread-0吃蘋果6
Thread-0吃蘋果7
Thread-0吃蘋果8
Thread-0吃蘋果9
樹上掉蘋果1
樹上掉蘋果2
樹上掉蘋果3
樹上掉蘋果4
樹上掉蘋果5
樹上掉蘋果6
Thread-1吃蘋果1
樹上掉蘋果7
Thread-1吃蘋果2
樹上掉蘋果8
Thread-1吃蘋果3
樹上掉蘋果9
Thread-1吃蘋果4
樹上掉蘋果10
Thread-1吃蘋果5
樹上掉蘋果11
Thread-1吃蘋果6
Thread-1吃蘋果7
Thread-1吃蘋果8
Thread-1吃蘋果9
樹上掉蘋果12
樹上掉蘋果13
樹上掉蘋果14
樹上掉蘋果15
樹上掉蘋果16
樹上掉蘋果17
樹上掉蘋果18
樹上掉蘋果19
蘋果沒了
Thread-0 值得是A所在的線程,當A所在的線程運行完畢後,之後的線程由main主函數和B進程爭奪。
希望本文所述對大家的Java程式設計有幫助。