c# - 如何退出所有正在运行的线程?

标签 c# .net winforms multithreading

以下代码不会退出应用程序。如何退出应用程序并确保关闭所有正在运行的线程?

foreach (Form form in Application.OpenForms)
{
    form.Close();
}
Application.Exit();

最佳答案

您没有在代码中显示任何线程的使用,但假设您确实在其中使用了线程。要关闭所有线程,您应该在启动它们之前将它们全部设置为后台线程,然后它们将在应用程序退出时自动关闭,例如:

Thread myThread = new Thread(...);
myThread.IsBackground = true; // <-- Set your thread to background
myThread.Start(...);

Microsoft 的“HOWTO:停止多线程”文章:http://msdn.microsoft.com/en-us/library/aa457093.aspx

关于c# - 如何退出所有正在运行的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2688923/

相关文章:

c# - LINQ TO SQL::数据更新问题

c# - C#如何制作行为类似于Nullable <T>的类

c# - WPF 自定义 LED 复选框

.net - Datagridview 中的方形填充复选框

c# - 在 C# 中获取链接资源的相对路径

winforms - 防止 ToolStripMenuItem 上下文菜单在单击时关闭

c# - 单声道嵌入,在不知道命名空间的情况下获取 MonoClass*

c# - 破坏 richtextbox 中的编码

c# - 命名管道 - 异步窥视

c# - 你如何在C#中模拟鼠标点击?