首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF CancellationTokenSource不工作

WPF CancellationTokenSource不工作
EN

Stack Overflow用户
提问于 2014-06-12 00:01:26
回答 1查看 391关注 0票数 1

我使用此代码来同步运行任务

代码语言:javascript
复制
var result = new StringBuilder();
//cts is a CancellationTokenSource();
foreach (var test in Tests)
{
    var t1 = new Task<string>(t => test.Run(), cts.Token);
    t1.Strat();
    result.Append(t1.Result);
}

我从另一个线程调用cts.Cancel(),可以看到令牌已更新:cts.Token.IsCancellationRequested == true,但任务仍在运行,甚至下一个任务也会启动……

我遗漏了什么?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-06-12 00:06:17

来自CancellationToken.IsCancellationRequested的文档

如果此属性为true,则它只保证已被请求取消。It 不能保证每个注册的处理程序都完成了的执行,也不能保证取消请求已经完成传播到所有注册的处理程序。可能需要额外的同步,特别是在同时取消相关对象的情况下。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24167526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档