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
asyncmože sadržavati operatorawait, 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.