Sobes.tech
Back to questions
Junior — Middle
58

Какие последствия будут, если отменить операцию с помощью CancellationToken?

Answer from AI

sobes.tech AI

Если операция отменяется с помощью CancellationToken, то:

  • Запущенная задача должна корректно реагировать на запрос отмены, проверяя состояние токена и прерывая выполнение.
  • Если задача не проверяет токен, отмена не произойдет немедленно — операция продолжит выполняться.
  • При отмене обычно выбрасывается исключение OperationCanceledException, которое можно обработать для корректного завершения.
  • Отмена позволяет освободить ресурсы и избежать ненужной работы, улучшая отзывчивость приложения.

Пример проверки отмены:

async Task DoWorkAsync(CancellationToken token) {
    for (int i = 0; i < 100; i++) {
        token.ThrowIfCancellationRequested();
        // Выполнение части работы
        await Task.Delay(100);
    }
}

Если токен отменён, метод выбросит исключение, и выполнение прервётся.