是否可以像中止线程(Thread.Abort方法)一样中止任务?
我们可以中止这样的线程:
Thread thread = new Thread(SomeMethod);.
.
.
thread.Abort();
但是我可以通过取消机制以相同的方式中止任务(在.Net 4.0中)。
回答:
- 您不应该使用Thread.Abort()
- 任务可以被取消,但不能中止。
的Thread.Abort的()方法是(严重)弃用。
线程和任务在停止时均应配合使用,否则可能会使系统处于不稳定/未定义状态。
如果确实需要运行一个Process并从外部将其杀死,则唯一安全的选择是在单独的AppDomain中运行它。
此答案是关于.net 3.5及更早版本的。
从那时起,线程中止处理得到了改进,方法是更改最终阻塞的方式。
但是Thread.Abort仍然是可疑的解决方案,您应该始终避免这样做。
以上是 是否可以像中止线程(Thread.Abort方法)一样中止任务? 的全部内容, 来源链接: utcz.com/qa/399597.html