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.