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, CancellationToken və CancellationTokenSource sinifləri vasitəsilə həyata keçirilir:
CancellationTokenSourcetoken yaradır və ləğvi siqnallaşdıra bilər.CancellationTokenvəzifələrə və ya metodlara ötürülür vəIsCancellationRequestedyoxlanı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.