是否无法手动取消并行的 Task?
我创建了数个 Task , 有时候处于效率,需要kill掉几个Task
请问该如何?
似乎没办法手动从外部消灭Task
------解决方案--------------------Task不能像Thread那样可以从外部Abort来中止。
Task一般都是传入CancellationToken(好像是这么拼写的),在Task内部来判断是否停止Task并做后续处理。
在外部需要中止正在执行的Task时,设置对应的CancellationToken状态。
------解决方案--------------------[Quote=引用:]
Task不能像Thread那样可以从外部Abort来中止。
Task一般都是传入CancellationToken(好像是这么拼写的),在Task内部来判断是否停止Task并做后续处理。
在外部需要中止正在执行的Task时,设置对应的CancellationToken状态。
[/Quote]
thread 也可以
CancellationToken
------解决方案--------------------
CancellationToken这种模式在.NET Framework中被称为Cooperative Cancellation(直译为合作式取消),采用这种设计的一个主要因素是:让Task知道自己即将被Cancel,可以在Cancel之前进行释放资源等操作。