スレッドのjoinメソッド


public class ab implements Runnable{

	public void run(){
		for(int i = 0 ; i  < 4000 ; i++)
			System.out.println(i);
	}
	
	public static void main(String[] args){
		Thread thread = new Thread(new ab());
		thread.start();
		System.out.println("Started");
		try {
			thread.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("Complete");
		
	}
}

 
Join()メソッドは、あるスレッドを実行中のスレッドに加える、本題はmainスレッドであり、そのスレッドを実行してからmainスレッドを実行し続ける.本プログラムの5行目はmainスレッドで実行され,6行目はjoin()が下達されたため,mianの実行は一時停止され,tがrun()メソッドのすべての作業を完了した後,mainが未完了の作業を継続するまで論じる.
joinメソッドを削除すると、「Comple」と「Started」の列がすぐに印刷され、スレッドの実行を待つことなく、「Complete」が印刷されます.つまり、2つのスレッドがそれぞれ別々になっていて、誰も待っていません.