C#.NET Multithreading‘De Karşılaştığım Bir Problem
-
Merhaba arkadaşlar,
C#'ta Windows Form'dan bir siteye bağlanıp veri çekiyorum. Daha anlaşılır tabirle bot yazıyorum diyebiliriz.
Az veri çekerken sıkıntı yok fakat 10 sayfa (her sayfadan 20 veri çekiyorum) veri çekerken aşağıdaki hatayla karşılaşıyorum.
Çözüm yolunda bir bilgisi olan var mı?
-
Problemi tam anlamadım ama timeout değerini bi artırmayı denesen? Ya da burayı bi incele istersen: http://stackoverflow.com/questions/299198/implement-c-sharp-generic-timeout
-
Cevap için sağ olasın hocam.
Verdiğin linkte Thread'lerin sleep'ini gördüğüm an Thread'leri oluştururken
Thread.Sleep(20);
olan kodu
Thread.Sleep(1000);
yaptım ve sorun şu anlık düzeldi gibi görünüyor. Sağ olasın.
Şimdi 100'lerce veri çekmeyi denicem.
-
1000 ms çok fazla bir zaman.. şöyle bir şey deneyebilrisin. öncelikle yapacağın tüm işlemler için bir tane threadpool listesi oluştur. sonra işlemci ve internet gücüne bağlı olarak o listeden belirli sayıda thread alarak onları çalıştır. bu threadler bitince yine listeden yeni threadler al. mesela 50 şer tane thread al, işini bitir ve tekrar 50 tane al. multithreading çok gelişti. paralel programlama var hatta paralel linq (plinq) dahi var. bu konuda farkl çözümler de var (task gibi) yeni teknolojiyi araştırıp uygularsan daha iyi verim alabilirsin