哪种线程模型最适合这种情况:我有一个进程可能需要几分钟才能完成,一旦它启动,我就无法控制运行的代码。该过程将出错或返回结果。
我想让用户取消这个过程。我不需要流程来报告其进度,只需要它完成或出现错误即可。如果进程被取消,则不需要清理。
我查看了各种线程选项并注意到添加取消似乎我需要在运行代码中实现某种取消标志,这在我的情况下是不可能的。添加线程超时也是不切实际的。我考虑过在 AppDomain 中运行我的进程,但感觉这种方法可能是死路一条。
使用 C# 3.5 Winform。
最佳答案
实际上,一个单独的 AppDomain 或 Process 是取消它的唯一安全方法。 Thread.Abort() 非常不安全,不建议使用。
关于c# - 长时间运行进程的线程选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873917/