Junior — Middle
Ko'p ipli dasturlash kontekstida bekor qilish tokeni tushunchasini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Ko‘p ipli ishlashda bekor qilish tokeni (Cancellation Token) — bu asinxron yoki parallel operatsiyalarni muvofiqlashtirish uchun ishlatiladigan obyekt.
Asosiy g‘oya: bir ip (yoki komponent) operatsiyani bekor qilishni so‘rashi mumkin, va bu operatsiyani bajarayotgan boshqalar token holatini vaqti-vaqti bilan tekshirib, agar bekor qilish so‘ralgan bo‘lsa, to‘g‘ri yakunlashlari mumkin.
C# da bu CancellationToken va CancellationTokenSource sinflari orqali amalga oshiriladi:
CancellationTokenSourcetoken yaratadi va bekor qilishni signal qilishi mumkin.CancellationTokenvazifalar yoki metodlarga uzatiladi, ularIsCancellationRequestedni tekshirishi va bekor qilishga javob berishi mumkin.
Misol:
var cts = new CancellationTokenSource();
var token = cts.Token;
Task.Run(() => {
while (!token.IsCancellationRequested)
{
// Ishni bajarish
}
// Tozalash va yakunlash
}, token);
// Kodda bir joyda bekor qilishni chaqiramiz
cts.Cancel();
Bu uzoq davom etadigan yoki fon operatsiyalarini xavfsiz va nazoratli tarzda to‘xtatishga imkon beradi.