Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpAsCt 338 of 509 menu
◀ ▶

Токен отмены CancellationToken в C#

Структура CancellationToken - сигнал отмены по согласованию. Поток из-за неё не обрывают: долгая операция сама смотрит на токен и останавливается.

Токен выдаёт источник CancellationTokenSource. Вызов Cancel помечает токен отменённым, и операция, которой его передали, должна сама остановиться.

Отменим источник до паузы. Task.Delay с этим токеном сразу завершается ошибкой, строка "ok" не печатается:

using CancellationTokenSource cts = new(); CancellationToken token = cts.Token; cts.Cancel(); try { await Task.Delay(1000, token); Console.WriteLine("ok"); } catch (OperationCanceledException) { Console.WriteLine(1); // выведет 1 }

Отмените токен до начала паузы и выведите "stopped", если пауза была прервана.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить