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);
}
}
Если токен отменён, метод выбросит исключение, и выполнение прервётся.