"Merhaba, Amigo! Görüyorum ki iplikler hakkında öğrenmede büyük adımlar atıyorsun."

"Sonuçta o kadar da zor değildi."

Bu harika! Bugün kolay bir dersiniz var ve konu birleştirme yöntemi.

Şu durumu hayal edin: ana iş parçacığı, bazı görevleri gerçekleştirmek için bir alt iş parçacığı yarattı. Zaman geçer ve artık ana iş parçacığı, alt iş parçacığı tarafından gerçekleştirilen çalışmanın sonuçlarına ihtiyaç duyar. Ancak alt iş parçacığı işini henüz bitirmedi. Ana iş parçacığı ne yapmalı?

İyi soru. Ana iş parçacığı ne yapmalı?

" Join yöntemi bunun için var. Bir iş parçacığını bekletirken diğer iş parçacığının işini bitirmesini sağlıyor:"

kod Tanım
class Printer implements Runnable
{
private String name;
public Printer(String name)
{
this.name = name;
}
public void run()
{
System.out.println("I’m " + this.name);
}
}
Runnable arabirimini uygulayan sınıf.
public static void main(String[] args)
{
Printer printer1 = new Printer("Nick");
Thread thread1 = new Thread(printer1);
thread1.start();

thread1.join();
}
Ana iş parçacığı bir alt iş parçacığı oluşturur - thread1 .

Sonra onu thread1 .start();' ı çağırarak başlatır.

Ardından tamamlanmasını bekler – thread1.join();

Bir iş parçacığı, ikinci bir iş parçacığının Thread nesnesinde birleştirme yöntemini çağırabilir . Sonuç olarak, (yöntem olarak adlandırılan) ilk iş parçacığı, (nesnenin birleştirme yöntemi çağrılan) ikinci iş parçacığı bitene kadar çalışmasını durdurur.

Burada iki şeyi birbirinden ayırmamız gerekiyor: elimizde bir thread (ayrı bir yürütme ortamı) ve bir Thread nesnemiz var.

"Bu kadar?"

"Evet."

"Ama neden bir ileti dizisi oluşturup hemen tamamlanmasını beklemeliyiz?"

"Hemen gerekmeyebilir. Bir süre geçtikten sonra olabilir. İlk alt iş parçacığını başlattıktan sonra, ana iş parçacığı diğer iş parçacıklarına çok daha fazla görev atayabilir (onları oluşturarak ve start yöntemini çağırarak). Ardından, başka bir iş parçacığının çalışmasını bitirmesini beklemeniz gerektiğinde, birleştirme yöntemini çağırmanız gerekir ."

"Anladım."