Java多執行緒之join()的使用初學習

yoyochina發表於2009-02-08

     以前就接觸過Java的多執行緒,只是多join()的使用不是很明白。學習了一下後,自己寫了個例子,明白了許多。感覺就是在那個join的執行緒執行結束後才執行後面的語句。如下面的程式碼:

 

public class threadTest
{
	public static final int N = 5;
	
	public static void main(String[] args)
	{
		System.out.println("Start");
		
		TestDemo test = new TestDemo(N);
		test.start();
		
		for(int i=0; i<N; i++)
			System.out.println("A");
		
//		try 
//		{
//			test.join();
//		} catch (InterruptedException e) {
//			e.printStackTrace();
//		}
		
		for(int i=0; i<N; i++)
			System.out.println("$$");
		
		System.out.println("End");
	}
}

class TestDemo extends Thread
{
	private int n;
	
	public TestDemo(int n)
	{
		this.n = n;
	}
	
	public void run()
	{
		for(int i=0; i<n; i++)
			System.out.println("******");
	}
}

 

輸出結果為:

Start
A
A
A
A
A
$$
$$
$$
$$
$$
End
******
******
******
******
******

 

將上面註釋掉的程式碼取消註釋,輸出結果為:

Start
A
A
A
A
A
******
******
******
******
******
$$
$$
$$
$$
$$
End

相關文章