Sobes.tech
Junior — Middle

როგორ შეიძლება გამოიყენოთ CancellationToken თქვენი პროექტის ასინქრონული ოპერაციების გაუქმებისთვის?

sobes.tech AI

პასუხი AI-სგან

C#-ში CancellationToken გამოიყენება ასინქრონული ოპერაციების გაუქმებისთვის, რაც საშუალებას აძლევს დავალების სწორად შეწყვეტას მოთხოვნის მიხედვით.

პროექტში, შეგიძლიათ გადმოაწოდოთ CancellationToken იმ მეთოდებს, რომლებიც მხარს უჭერენ გაუქმებას, და შეამოწმოთ მისი მდგომარეობა ასინქრონულ კოდში. თუ ტოკენი სიგნალს აძლევს გაუქმების შესახებ, ოპერაცია უნდა დასრულდეს წინასწარ, რესურსების გათავისუფლებით.

გამოყენების მაგალითი:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // სამუშაოს იმიტაცია
    }
}

// ზარი გაუქმების შესაძლებლობით
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// გაუქმება 3 წამში
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("ოპერაცია გაუქმდა");
}

ეს მიდგომა საშუალებას აძლევს მოქნილად მართოთ ასინქრონული დავალებების შესრულების დრო და გაუმჯობესოს პროგრამის რეაგირების უნარი.