Запитання з тегом «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 CancellationTokenструктура була введена крім CancellationTokenSourceкласу. Я розумію, як слід використовувати API, але хочу також зрозуміти, чому він створений саме так. Тобто, чому ми маємо: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { ... token.ThrowIfCancellationRequested(); ... } замість того, щоб безпосередньо …

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