Java’da Multithreading ( join Nedir) – 4
Java’da Multithreading synchronized konusuna bir önceki yazıda değinmiştik. ( buradan ulaşabilirsiniz. )
Bu yazıda join() metotudunun ne işe yaradığından bahsedip örnek bir uygulama yapacağım.
synchronized ile bir thread’in bitip diğerinin devam etmesini sağlayabiliyorduk. join yöntemi ise bir thread bitmeden diğerinin çalışmasını engeller. start ile başlattığımız thread’in devamında join olarak belirttiğimizde diğer threadin bitmesini bekledikten sonra diğer thread başlar.
class JoinThreadExample implements Runnable {
public void run() {
Thread thread = Thread.currentThread();
System.out.println(thread.getName() + " başladı");
try {
Thread.sleep(500);
System.out.println(thread.getName() + " bitti.");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class Main
{
public static void main(String args[]) throws InterruptedException {
JoinThreadExample joinThreadExample=new JoinThreadExample();
Thread thread1 = new Thread(joinThreadExample, "Thread 1");
Thread thread2 = new Thread(joinThreadExample, "Thread 2");
Thread thread3 = new Thread(joinThreadExample, "Thread 3");
Thread thread4 = new Thread(joinThreadExample, "Thread 4");
thread1.start();
thread1.join();
thread2.start();
thread2.join();
thread3.start();
thread4.start();
}
}
Code language: PHP (php)
4 adet thread başlatıyoruz ve join diyerek birbirini beklemesini sağlamaktayız.
Thread 1 başladı
Thread 1 bitti.
Thread 2 başladı
Thread 2 bitti.
Thread 3 başladı
Thread 4 başladı
Thread 3 bitti.
Thread 4 bitti.
No Comment! Be the first one.