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