Hàm join
Hàm này dùng để nối đầu thực thi của một luồng đến cuối thực thi của luồng khác. Cách này đảm bảo luồng đầu tiên không chạy cho đến khi luồng thứ hai đã dừng thực thi. Hàm chờ một số mili giây cụ thể để luồng chấm dứt.
Hãy xem ví dụ:
Ví dụ
import java.lang.*;
public class Demo implements Runnable{
public void run(){
Thread my_t = Thread.currentThread();
System.out.println("Tên luồng hiện tại: " + my_t.getName());
System.out.println("Luồng hiện tại còn sống? " + my_t.isAlive());
}
public static void main(String args[]) throws Exception{
Thread my_t = new Thread(new Demo());
System.out.println("Instance đã tạo và bắt đầu");
my_t.start();
my_t.join(30);
System.out.println("Các luồng sẽ join sau 30 mili giây");
System.out.println("Tên luồng hiện tại: " + my_t.getName());
System.out.println("Luồng hiện tại còn sống? " + my_t.isAlive());
}
}
Kết quả
Instance đã tạo và bắt đầu Các luồng sẽ join sau 30 mili giây Tên luồng hiện tại: Thread-0 Tên luồng hiện tại: Thread-0 Luồng hiện tại còn sống? true Luồng hiện tại còn sống? true
Lớp Demo implements Runnable. Hàm run định nghĩa gán luồng hiện tại là Thread mới tạo. Trong main, instance mới của Thread tạo, bắt đầu bằng start. Thread này join với luồng khác sau thời gian cụ thể. Thông báo hiển thị.