Junior — Middle
Proqramlaşdırmada asinxronluq ilə işləyərkən yield və async/await mexanizmləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
yield və async/await müxtəlif mexanizmlərdir və asinxronluq və məlumat axınları ilə işləmək üçün istifadə olunur:
-
yield iteratorlər və generatorlarda istifadə olunur, tam siyahı yaratmadan mərhələli şəkildə dəyərlər vermək üçün. Bu, ehtiyatlı ardıcıllıqlar yaratmağa imkan verir.
-
async/await asinxron əməliyyatlarla işləməni sadələşdirən sintaksisdir və kodun sinxron görünməsini təmin edir, lakin asinxron şəkildə icra olunur.
C#-da yield istifadəsinə nümunə:
IEnumerable<int> GenerateNumbers() {
for (int i = 0; i < 5; i++) {
yield return i; // hər iterasiyada bir dəyər qaytarır
}
}
async/await nümunəsi:
async Task<string> GetDataAsync() {
await Task.Delay(1000); // asinxron gecikmə
return "Məlumat";
}
Beləliklə, yield məlumatların ardıcıl çıxarılmasını idarə edir, async/await isə əməliyyatların asinxron icrasını təmin edir.