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

  • CancellationTokenSource token yaratadi va bekor qilishni signal qilishi mumkin.
  • CancellationToken vazifalar yoki metodlarga uzatiladi, ular IsCancellationRequested ni 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.