Junior — Middle
Обяснете принципа на работа на асинхронността в корутините и как е реализирана
sobes.tech AI
Отговор от AI
Асинхронността в корутините в C# се реализира чрез ключовите думи async и await, които позволяват писането на асинхронен код, подобен на синхронен, без да блокират нишките.
Принцип на работа:
- Метод, маркиран като
async, може да съдържа операторawait, който спира изпълнението на метода до завършване на асинхронната операция. - През това време текущата нишка не се блокира, а управлението се връща към извикващия код.
- След като операцията приключи, изпълнението на метода продължава от мястото на
await.
Пример:
public async Task<string> GetDataAsync()
{
// Асинхронно чака завършването на операцията
string result = await SomeLongRunningOperationAsync();
return result;
}
По този начин корутините позволяват ефективно използване на ресурсите, без да блокират нишките по време на очакване.