[英]Cannot cancel a task via CancellationTokenSource.Cancel()
[英]CancellationTokenSource.Cancel Method Can be ignored by the task cancellation is requested
所以我在书中读到,即使我在令牌上调用cancel,我已将CancellationTokenSource传递给的任务也可以忽略它? 什么? 这是真的。 我希望不是。 在MSDN中找不到任何确定的内容。
这完全使取消令牌对我无用,然后我会坚持使用我的thread.abort。
是的,它是真的。 要使用CancellationTokenSource,您的任务必须知道它。
例如,以下代码知道CancellationToken,因为它调用了令牌实例的ThrowIfCancellationRequested()方法:
var cts = new CancellationTokenSource();
SomeCancellableOperation(cts.Token);
...
public void SomeCancellableOperation(CancellationToken token) {
...
token.ThrowIfCancellationRequested();
...
}
在这个问题中,我已经找到了上述代码片段以及对其的一些说明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.