Sobes.tech
Junior — Middle

Çox ipli proqramlaşdırma kontekstində ləğv tokeni anlayışını izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Çox iş parçacığı proqramlaşdırmasında İptal İşarəsi (Cancellation Token), asinxron və ya paralel əməliyyatların koordinasiyası üçün istifadə olunan obyektidir.

Əsas fikir: bir iş parçacığı (və ya komponent) əməliyyatın ləğvini tələb edə bilər və onu həyata keçirən digər işlər tokenin vəziyyətini mütəmadi yoxlaya bilər və ləğv tələb olunursa düzgün şəkildə sona çatdıra bilər.

C#-da bu, CancellationTokenCancellationTokenSource sinifləri vasitəsilə həyata keçirilir:

  • CancellationTokenSource token yaradır və ləğvi siqnallaşdıra bilər.
  • CancellationToken vəzifələrə və ya metodlara ötürülür və IsCancellationRequested yoxlanılır və ləğv edilə bilər.

Nümunə:

var cts = new CancellationTokenSource();
var token = cts.Token;

Task.Run(() => {
    while (!token.IsCancellationRequested)
    {
        // İş yerinə yetir
    }
    // Təmizləmə və yekunlaşdırma
}, token);

// Kodda bir yerdə ləğv çağırılır
cts.Cancel();

Bu, uzunmüddətli və ya fon əməliyyatlarının təhlükəsiz və idarə olunan şəkildə dayandırılmasına imkan verir.