C#-də asinxron metod necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində asinxron metodlar, əsas icra axını bloklamadan uzun müddət çəkə biləcək əməliyyatları (məsələn, giriş/çıxış, şəbəkə sorğuları) yerinə yetirməyə imkan verir.
async açar sözü ilə işarələnmiş asinxron metod çağırıldıqda, idarəetmə çağıran koduna keçir və asinxron əməliyyat tamamlanana qədər davam edir. Əməliyyat fon rejimində (məsələn, ip havuzundan və ya sistem giriş-çıxış mexanizmlərindən istifadə etməklə) həyata keçirilir.
Metod daxilində await açar sözü, asinxron əməliyyatın harada dayandırıla biləcəyini göstərir. await-a çatdıqda, idarəetmə geri çağıran koduna qaytarılır və metodun davamı, gözlənilən əməliyyat tamamlandıqda icra üçün planlaşdırılır.
Asinxron əməliyyatın nəticəsi (və ya istisna) daha sonra asinxron metodun davamına qaytarılır və burada işlənir. C#-in tərtibçisi tərəfindən asinxron metodun vəziyyəti avtomatik idarə olunur və onu sonlu vəziyyət maşınına çevirir.
public async Task<string> GetDataAsync(string url)
{
// Uzun müddət çəkən giriş-çıxış əməliyyatının simulyasiyası
using (var httpClient = new HttpClient())
{
string result = await httpClient.GetStringAsync(url); // await: metodun icrası dayandırıla bilər
return result;
}
}
// Asinxron metodun çağırılması nümunəsi
public async Task ProcessDataAsync(string url)
{
Console.WriteLine("Məlumatların yüklənməsinə başlanır...");
string data = await GetDataAsync(url); // Asinxron əməliyyatın tamamlanmasını gözləyir
Console.WriteLine("Məlumatlar yükləndi: " + data.Length + " simvol.");
}