C# végtelen ciklus?
Mennyire elfogadott, ha egy programban végtelen ciklus fut? Leveleket szeretnék minél gyorsabban ellenőrizni, letölteni stb... Próbáltam timerrel, de az intervallum vagy túl hosszú, vagy túl rövid és így előfordul, hogy egy üzenetet többször is letölt 1-2 másodperc alatt.
Ha nagyon nem nézik jó szemmel, akkor az mennyire hatékony megoldás ha a ciklus addig fut amíg van internetkapcsolat, ha az megszakad, akkor egy timer x időközönként ellenőrzi, hogy van-e net?
A válaszokat előre is köszönöm!
Használd ki az eseményvezérelt programozás előnyeit. Bevezetsz egy változót:
private bool IsMailDownloading = false;
A timer eseményében:
if (!this.IsMailDownloading) {
this.IsMailDownloading = true;
//elindítod a letöltést
}
Amikor pedig a letöltést vezérlő komponens befejezte a letöltést (kell rá lennie eseménynek):
this.IsMailDownloading = false;
if (nincs új levél)
{
System.Threading.Thread.Sleep(60 * 1000);
}
else
{
...
ezt berakod végtelen ciklusba, így percenként ellenőrzi
Egyébként magadnak írod, vagy terjesztésre?
Ha tárolod, hogy melyik üzenet van letöltés alatt és melyik van már letöltve igen nehéz kétszer letölteni ugyan azt.
Windows alatt pedig minden grafikus alkalmazás végtelen ciklussal fut :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!