Предполагая, что у меня очень длинная работа, которая не содержит никакого цикла, я имею в виду, что характер операции длительный, без какой-либо рекурсии и повторения. В этом случае, если я использую тип CancellationToken
, чтобы выбросить исключение отмены или флаг Boolean
для «Безопасного» отмены задачи, токен или флаг никогда не будут достигнуты.Умышленно прерывание задачи
Теперь единственной целью было бы разорвать выполняемую задачу независимо от того, является ли прерывание хорошим или плохим подходом. При использовании потоков применяется метод прерывания (мне не интересно обсуждать его недостатки, поскольку я уже знаю об этом), но когда дело доходит до типа Задачи, я не вижу его там. И если моя задача должна вернуть значение, то потоки не будут заданы.
Что является самым безопасным и эффективным способом реализации этого.
Там нет метода прерывания, потому что задачи не обязательно связаны с потоками. – dcastro
@ dcastro: Я уже знаю это, я ищу решение. Я хочу разбить его независимо от того, что очень похоже на Environment.Exit (0), который разбивает все текущие операции и закрывает приложение. – Arrrr
Каков контекст здесь? – Mathematics