Вопросы с тегом «cancellation-token»

4
Токен аннулирования в конструкторе задач: почему?
Некоторые System.Threading.Tasks.Taskконструкторы принимают CancellationTokenв качестве параметра: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); Что меня сбивает с толку, так это то, что изнутри тела метода не существует способа фактически получить переданный токен (например, ничего подобного Task.CurrentTask.CancellationToken). Токен должен быть предоставлен через какой-то другой …

5
Почему CancellationToken отличается от CancellationTokenSource?
Я ищу объяснение того, почему .NET CancellationTokenstruct была введена в дополнение к CancellationTokenSourceклассу. Я понимаю, как следует использовать API, но хочу также понять, почему он так устроен. Т.е. почему у нас: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { ... token.ThrowIfCancellationRequested(); ... } вместо прямой передачи, …

6
Параметр по умолчанию для CancellationToken
У меня есть асинхронный код, к которому я хотел бы добавить CancellationToken. Однако есть много реализаций, в которых это не нужно, поэтому я хотел бы иметь параметр по умолчанию - возможно CancellationToken.None. Однако, Task<x> DoStuff(...., CancellationToken ct = null) дает Значение типа '' нельзя использовать в качестве параметра по умолчанию, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.