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

Moh*_*med 2 c# multithreading application-shutdown

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

pdr*_*gen 5

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

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

  • 其他前台线程将使进程无法终止,后台线程将不会. (3认同)