Join'siz Thread (ARCH4041)
Anahtar java.async.thread-without-join · Önem warning · Kategori async
Bir thread oluşturulup başlatıldığında ancak join() çağrılmadığında, üreten kapsam thread’in işi tamamlanmadan sonlanabilir; işi ve istisnaları gözlemlenmeden kalır.
Hatalı
Bölüm başlığı “Hatalı”void load() { Thread t = new Thread(this::fetch); t.start(); // join yok} // metot iş bitmeden dönervoid load() throws InterruptedException { Thread t = new Thread(this::fetch); t.start(); t.join(); // tamamlanmasını bekle}Düzeltme
Bölüm başlığı “Düzeltme”Başlatılan thread’i join() ile bekleyin ya da yaşam döngüsünü yöneten bir ExecutorService kullanın.