Sobes.tech
Junior — Middle

Loyihangizda asinxron operatsiyalarni bekor qilish uchun CancellationToken qanday ishlatiladi?

sobes.tech AI

AIdan javob

C# da CancellationToken asinxron operatsiyalarni bekor qilish uchun ishlatiladi, bu esa vazifaning bajarilishini so'rov bo'yicha to'g'ri ravishda to'xtatishga imkon beradi.

Loyihada, CancellationToken'ni bekor qilishni qo'llab-quvvatlaydigan metodlarga o'tkazish va uning holatini asinxron kod ichida tekshirish mumkin. Agar token bekor qilishni bildirsa, operatsiya oldindan tugatilishi va resurslar bo'shatilishi kerak.

Foydalanish misoli:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // ishni simulyatsiya qilish
    }
}

// Bekor qilish imkoniyati bilan chaqirish
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// 3 sekunddan so'ng bekor qilish
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("Operatsiya bekor qilindi");
}

Bu yondashuv asinxron vazifalarning bajarilish vaqtini moslashuvchan boshqarish va ilovaning javob berish qobiliyatini oshirish imkonini beradi.