"Xin chào, Amigo! Tôi thấy bạn đang có những bước tiến lớn trong việc học về các sợi chỉ."

"Rốt cuộc nó không quá khó."

Thật tuyệt! Hôm nay bạn có một bài học dễ dàng, và chủ đề là phương pháp nối .

Hãy tưởng tượng tình huống sau: luồng chính đã tạo một luồng con để thực hiện một số tác vụ. Thời gian trôi qua, và bây giờ luồng chính cần kết quả của công việc được thực hiện bởi luồng con. Nhưng chủ đề con vẫn chưa hoàn thành công việc của nó. Chủ đề chính nên làm gì?

Câu hỏi hay. Chủ đề chính nên làm gì?

"Đây là mục đích của phương thức nối . Nó cho phép chúng ta làm cho một luồng chờ trong khi luồng khác hoàn thành công việc của nó:"

Mã số Sự miêu tả
class Printer implements Runnable
{
private String name;
public Printer(String name)
{
this.name = name;
}
public void run()
{
System.out.println("I’m " + this.name);
}
}
Lớp triển khai giao diện Runnable.
public static void main(String[] args)
{
Printer printer1 = new Printer("Nick");
Thread thread1 = new Thread(printer1);
thread1.start();

thread1.join();
}
Chủ đề chính tạo ra một chủ đề con - thread1 .

Sau đó, nó khởi động nó bằng cách gọi thread1 .start();

Và sau đó đợi nó hoàn thành – thread1.join();

Một luồng có thể gọi phương thức nối trên đối tượng Thread của luồng thứ hai. Kết quả là luồng đầu tiên (được gọi là phương thức) ngừng hoạt động cho đến khi luồng thứ hai (có phương thức nối của đối tượng được gọi) kết thúc.

Chúng ta cần phân biệt giữa hai điều ở đây: chúng ta có một luồng (một môi trường thực thi riêng biệt) và chúng ta có một đối tượng Thread.

"Đó là nó?"

"Đúng."

"Nhưng tại sao chúng ta phải tạo một chủ đề và sau đó ngay lập tức đợi nó hoàn thành?"

"Có thể không cần phải làm ngay. Có thể sau một thời gian. Sau khi bắt đầu luồng con đầu tiên của nó, luồng chính có thể gán thêm nhiều tác vụ cho các luồng khác (bằng cách tạo chúng và gọi phương thức bắt đầu ). Sau đó, khi nó không còn bất kỳ công việc nào, nó cần xử lý kết quả của chuỗi con đầu tiên. Bất cứ khi nào bạn cần đợi một chuỗi khác hoàn thành công việc, bạn cần gọi phương thức nối ."

"Hiểu rồi."