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("Операция токтотулду");
}
Бул ыкма асинхрондуу тапшырмалардын иштөө убактысын ийкемдүү башкарууга жана тиркеменин жооп берүү жөндөмүн жакшыртууга мүмкүндүк берет.