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("Գործողությունը չեղարկվեց");
}
Այս մոտեցումը թույլ է տալիս ճկուն կերպով կառավարել ասինխրոնային առաջադրանքների կատարման ժամանակը և բարելավել ծրագրի արձագանքման կարողությունը։