Sobes.tech
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

yieldasync/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.