任务构造函数中的取消令牌:为什么?
某些
System.Threading.Tasks.Task
构造函数将CancellationToken
作为参数:
CancellationTokenSource source = new CancellationTokenSource();
Task t = new Task (/* method */, source.Token);
令我感到困惑的是,方法体内无法实际获取传入的令牌(例如,没有像Task.CurrentTask.CancellationToken
)。必须通过某种其他机制提供令牌,例如状态对象或在lambda中捕获。
那么在构造函数中提供取消令牌的目的是什么呢?
没有找到相关结果
已邀请:
3 个回复
豪抱怒掳
(这是ThrowIfCancellationRequested所做的),然后当任务 看到OCE,它检查OCE的令牌是否与任务的匹配 令牌。如果是,则该异常被视为对此的确认 合作取消和任务过渡到已取消 国家(而不是Faulted州)。
铰齐插
窝头菊