Junior — Middle
95
Quali sono le conseguenze se si annulla l'operazione usando CancellationToken?
Risposta dell'AI
sobes.tech AI
Если операция отменяется с помощью CancellationToken, то:
- Запущенная задача должна корректно реагировать на запрос отмены, проверяя состояние токена и прерывая выполнение.
- Если задача не проверяет токен, отмена не произойдет немедленно — операция продолжит выполняться.
- При отмене обычно выбрасывается исключение
OperationCanceledException, которое можно обработать для корректного завершения. - Отмена позволяет освободить ресурсы и избежать ненужной работы, улучшая отзывчивость приложения.
Пример проверки отмены:
async Task DoWorkAsync(CancellationToken token) {
for (int i = 0; i < 100; i++) {
token.ThrowIfCancellationRequested();
// Выполнение части работы
await Task.Delay(100);
}
}
Если токен отменён, метод выбросит исключение, и выполнение прервётся.