Definirea unei funcţii de tip Delay în C#

09.07.2024

Uneori este nevoie ca într-o aplicaţie să furnizăm o întârziere în efectuarea unei anumite operaţii pentru o scrută perioadă de timp. Să ne imaginăm de exemplu că avem o aplicaţie interactivă cum ar fi un joc de şah. Dacă după mutarea jucătorului uman urmează instantaneu mutarea calculatorului, ochiul uman ar putea fi derutat de viteza de execuţie. Este adevărat, dacă este vorba de şah, atunci algoritmul pentru mutarea calculatorului poate să dureze o perioadă destul de lungă, ceea ce ar face inutilă prezenţa unei întârzieri suplimentare!

Sunt multe alte exemple care ilustrează motivul pentru care e necesară aplicarea unei amânări în efectuarea unei operaţii. O funcţie simplă care face acest lucru este următoarea:

void Delay(int milisec)
{
int timp = Environment.TickCount;
while (true)
if (Environment.TickCount - timp >= milisec) return;
}

Apelul unei astfel de funcţii (metodă privată a unei clase) se face prin:

Delay(2000);

Întârzierea este de 2 secunde, adică 2000 milisecunde.

Share