Kezdőoldal » Számítástechnika » Programozás » C# végtelen ciklus?

C# végtelen ciklus?

Figyelt kérdés

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!



2015. szept. 28. 20:16
 1/6 anonim ***** válasza:

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;

2015. szept. 28. 20:23
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

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?

2015. szept. 28. 20:33
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

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

2015. szept. 28. 21:00
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Hogy érted, hogy minden grafikus alkalmazás végtelen ciklusban fut? Az, hogy inputra vár az nem azt jelenti, hogy végtelen ciklusban van
2015. szept. 28. 21:22
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
GetMessage hívásnál vár, PeekMessage hívásnál nem. Akkor úgy írom, hogy minden játék, de végső soron akkor is végtelen ciklus ha vár, mert a feltételében nincsen kilépési feltétel, ami egyenlő a végtelen ciklussal.
2015. szept. 28. 21:27
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
Ha egy szerveren egy kvázi-végtelen ciklus fut, akkor szokott lenni egy flag, ami először true, de kívülről megfordítható, emiatt a szerver nem lép be a következő ciklusba. Kivételekre nem tanácsos bízni a leállást, mert akkor az adatok inkonzisztensek maradhatnak.
2015. szept. 29. 19:36
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!