c# – CancellationToken – 请求取消后注册处理程序
在没有建造快速试验台的情况下;我想我会很快问,看看是否有人知道这个答案.
此外,它可能具有通知可能遇到类似情况的其他用户的额外好处. 假设我有一个长期存在的CancellationTokenSource,其中许多不同的组件在CancellationToken上注册处理程序. 如果请求取消并且所有已注册的回调都被调用,然后在该点之后注册另一个处理程序;在注册时,取消回叫是否仍会触发新的回叫? 提前干杯! 解决方法
看一下
CancellationToken.Register 的文档:
考虑以下: void RegisterBeforeCancel(CancellationToken token) { token.Register(() => Console.WriteLine("Before cancel")); } void RegisterAfterCancel(CancellationToken token) { token.Register(() => Console.WriteLine("After cancel")); } var cts = new CancellationTokenSource(); RegisterBeforeCancel(cts.Token); cts.Cancel(); RegisterAfterCancel(cts.Token); 输出将显示: Before cancel After cancel (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |