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