Sobes.tech
Junior — Middle

Explica principiul de funcționare al asincronicității în corutine și cum este implementată

sobes.tech AI

Răspuns de la AI

Asincronicitatea în corutinele din C# este implementată prin cuvintele cheie async și await, care permit scrierea unui cod asincron similar cu codul sincron, fără a bloca firele.

Principiul de funcționare:

  • O metodă marcată ca async poate conține operatorul await, care suspendă execuția metodei până la finalizarea operației asincrone.
  • În timpul acesta, firul curent nu este blocat, iar controlul este returnat codului apelant.
  • După finalizarea operației, execuția metodei continuă de la await.

Exemplu:

public async Task<string> GetDataAsync()
{
    // Așteaptă asincron finalizarea operației
    string result = await SomeLongRunningOperationAsync();
    return result;
}

Astfel, corutinele permit utilizarea eficientă a resurselor, fără a bloca firele în timpul așteptării.