スレッドの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つのスレッドがそれぞれ別々になっていて、誰も待っていません.