如何在退出时杀死Thread?

父窗体上的按钮用于启动线程。 如果在开发环境中关闭父窗体,则线程将在后台运行,从而阻止在64位Windows 7平台上编辑源代码。 必须通过菜单>调试>停止调试来杀死该线程。 父窗体关闭时以编程方式终止线程的正确方法是什么?

private void buttonW_Click(object sender, EventArgs e) { Thread t = new Thread(Main.MyThread); t.Start(); } private static void MyThread() { ... } 

如果您希望应用程序在主线程完成时退出,您可以将新线程设为后台线程:

 Thread t = new Thread(Main.MyThread); t.IsBackground = true; t.Start(); 

基本上,当所有前台线程都退出时,进程将退出。

请注意,如果后台线程在表单关闭时写入文件,或类似的东西,这可能是坏消息……

Environment.Exit(0)终止此过程并为底层操作系统提供指定的退出代码。 它更常用于控制台应用程序。

 Environment.Exit(0);