Sobes.tech
Junior — Middle

Објасните принцип рада асинхроности у корутинама и како је реализована

sobes.tech АИ

Одговор од АИ

Asinhronost u korutinama u C# implementirana je pomoću ključnih reči async i await, koje omogućavaju pisanje asinhronog koda sličnog sinhronom, bez blokiranja niti.

Princip rada:

  • Metod označen kao async može sadržavati operator await, koji zaustavlja izvršenje metode do završetka asinhrone operacije.
  • Tokom tog vremena, trenutna nit nije blokirana, već se kontrola vraća pozivajućem kodu.
  • Nakon završetka operacije, izvršenje metode se nastavlja od mesta await.

Primer:

public async Task<string> GetDataAsync()
{
    // Asinhrono čekamo završetak operacije
    string result = await SomeLongRunningOperationAsync();
    return result;
}

Na ovaj način, korutine omogućavaju efikasno korišćenje resursa, bez blokiranja niti tokom čekanja.