Çok teşekkür ederim hocam programı inceleyeceğim zaman alacak ama ilk kez duydum bayağı güzel bir kütüphaneye benziyor.
Kodun çalışması şöyle: İlk olarak 5 Thread oluşturuyor ve içinden biri bittiğinde yeni bir tane oluşturuyor ve böyle sona kadar gidiyor.
Evet haklısınız sizin yazdığınızı şimdi gördüm okuyodum.
Her Thread sırası ile çalışıyor o zaman hocam, ben 5 Thread aynı anda çalışıp 5 farklı siteye bağlabilir mi onu merak ediyorum, Sırası ile çalışmak yerine aynı anda çalışmak farklı sitelere bağlanmaları…
Thread’ların asıl özelliği bu, aynı anda çalışıyorlar. Buna paralellik diyoruz.
@ibrahimcetin’in kodu onu yapıyor zaten.
Threadler sırasıyla çalışmıyor. Orada oluşturulan Threadler aynı anda çalışıyor. Benim yaptığım şey bir anda listedeki site sayısı kadar Thread oluşturmaktansa 5 tane Thread oluşturmak. Yani 5 farklı site üzerinde aynı anda işlem yapıyor.
Tam olarak istediğim buydu hocam sabrınız için teşekkür ederim
Konuyu tekrar gündeme getiriyorum ama şimdi yukarıda verdiğim koda denk geldim, şu kısım thread safe değil:
Bu kodu örnek alacak olanların threading.Lock
kullanarak senkronizasyon sağlaması lazım.
Veya donned
değişkeninden tamamen kurtulup ThreadPoolExecutor
örneğinin shutdown
metodunu çağırabiliriz, bu da başlattığımız bütün thread’ların bitmesini bekleyecektir.
Aynı hata cevap olarak işaretlenen kodda da yapılmış, bu threads
değişkeni üzerinde yapılan değişikliklerin threading.Lock
kullanılarak senkronize edilmesi lazım: