Join'siz thread (ARCH2041)
Anahtar python.async.thread-without-join · Önem warning · Kategori async
Bir thread oluşturulup başlatıldığında ona karşılık gelen bir join() yoksa, başlatan scope thread’in işi bitmeden çıkabilir ve thread’in istisnaları gözlemlenmeden kaybolur.
Hatalı
Bölüm başlığı “Hatalı”import threading
def process(items): t = threading.Thread(target=work, args=(items,)) t.start() # join yok, iş gözlemlenmezimport threading
def process(items): t = threading.Thread(target=work, args=(items,)) t.start() t.join() # tamamlanmasını bekleDüzeltme
Bölüm başlığı “Düzeltme”Başlattığınız her thread için join() çağırın ya da daemon ömrünü açıkça yönetin.