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("Операция токтотулду");
}

Бул ыкма асинхрондуу тапшырмалардын иштөө убактысын ийкемдүү башкарууга жана тиркеменин жооп берүү жөндөмүн жакшыртууга мүмкүндүк берет.