Application.Exit()是否会杀死后台线程?

时间:2012-04-25 20:37:51

标签: c# multithreading application-shutdown

我创建了一个运行多个后台线程的表单。我添加了另一个处理异常和错误的类(如果有的话)。当代码运行时,如果发生应该强制应用程序关闭的错误,我可以使用Application.Exit()吗?这会杀死后台线程吗?

2 个答案:

答案 0 :(得分:5)

不,它不会。 Application.Exit()只会强制Windows消息泵发布Quit消息,这将终止应用程序的主线程。但是,进程本身将继续运行,直到后台线程完成。

更新:正如评论者正确指出的那样,如果您的线程的IsBackground属性设置为True,则通过Application.Exit()终止主线程将关闭该进程。

答案 1 :(得分:0)

没有。线程终止是合作的。