join() เป็น final method ของคลาส Thread ใช้รอให้เธรดหนึ่งทำงานเสร็จก่อนถึงจะเริ่มเธรดถัดไป หากเรียก join() บนอินสแตนซ์เธรด เธรดปัจจุบันจะ block จนกว่าเธรดนั้นจะทำงานเสร็จ
ไวยากรณ์
public final void join() throws InterruptedException
ตัวอย่าง
public class JoinTest extends Thread {
public void run() {
for(int i = 1; i <= 3; i++) {
try {
Thread.sleep(1000);
} catch(Exception e) {
System.out.println(e);
}
System.out.println("TutorialsPoint " + i);
}
}
public static void main(String args[]) {
JoinTest t1 = new JoinTest();
JoinTest t2 = new JoinTest();
JoinTest t3 = new JoinTest();
t1.start();
try {
t1.join(); // calling join() method
} catch(Exception e) {
System.out.println(e);
}
t2.start();
t3.start();
}
}
ผลลัพธ์
TutorialsPoint 1 TutorialsPoint 2 TutorialsPoint 3 TutorialsPoint 1 TutorialsPoint 1 TutorialsPoint 2 TutorialsPoint 2 TutorialsPoint 3 TutorialsPoint 3