首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ThrowIfCancellationRequested() vs Abort()

ThrowIfCancellationRequested() vs Abort()
EN

Stack Overflow用户
提问于 2016-02-26 13:14:21
回答 1查看 128关注 0票数 0

我想达到什么目的?

我试图使用CancellationToken从另一个任务中取消一个长期运行的任务。我不可能处理取消并提交长期运行的任务,因为它将永远不会触及处理取消的代码(任务处理一个错误的正则表达式,无论如何,这并不重要)。我试图从另一个任务中处理取消请求,并对取消请求进行轮询,当我调用ThrowIfCancellationRequested()时,它实际上会抛出该线程。因此,长期运行的任务仍然存在和悬念。

我是如何解决这个问题的

好吧,在长时间运行的任务的线程上,我没有使用令牌的ThrowIfCancellationRequested(),而是随意地调用Abort(),它的工作原理就像魅力一样。

和我的问题是:,我很确定它不是很优雅,我想知道它是否还好,我在那里做了什么,我如何处理这种情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-26 14:50:14

is evil,因为它非常危险。.NET中的取消(以及我所知道的任何其他平台)都是协作的。要么让操作按要求自行取消,要么隔离它,这样您就可以忽略它。

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

https://stackoverflow.com/questions/35652706

复制
相关文章

相似问题

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