是否可以像中止线程(Thread.Abort方法)一样中止任务?

我们可以中止这样的线程:

Thread thread = new Thread(SomeMethod);

.

.

.

thread.Abort();

但是我可以通过取消机制以相同的方式中止任务(在.Net 4.0中)。

回答:

  1. 您不应该使用Thread.Abort()
  2. 任务可以被取消,但不能中止。

的Thread.Abort的()方法是(严重)弃用。

线程和任务在停止时均应配合使用,否则可能会使系统处于不稳定/未定义状态。

如果确实需要运行一个Process并从外部将其杀死,则唯一安全的选择是在单独的AppDomain中运行它。


此答案是关于.net 3.5及更早版本的。

从那时起,线程中止处理得到了改进,方法是更改​​最终阻塞的方式。

但是Thread.Abort仍然是可疑的解决方案,您应该始终避免这样做。

以上是 是否可以像中止线程(Thread.Abort方法)一样中止任务? 的全部内容, 来源链接: utcz.com/qa/399597.html

回到顶部