我使用这样的代码
List<Thread> list = new List<Thread>();
Thread newThread = new Thread(delegate() { stream(string); });
this.list.Add(newThread);
newThread.Start();
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
foreach (var item in list)
{
item.Abort();
}
}
但关闭后,该流程仍在任务管理器中运行,如何退出整个应用程序?
我用Google搜索了很多次,但是所有的例子对我来说都很难理解
答案 0 :(得分:3)
使用调试器。如有必要,使用工具+附加到流程附加它。 Debug + Break All,Debug + Windows + Threads显示仍在运行的线程。使用Thread.IsBackground属性将代码保留在the left door之后。
答案 1 :(得分:1)
退出应用程序:
Application.Exit();
答案 2 :(得分:1)
foreach (Thread t in threads) t.Join();
答案 3 :(得分:1)
如果将线程作为后台线程运行,则退出主应用程序时线程将停止 像这样:
Thread newThread = new Thread(delegate() { stream(string); });
this.list.Add(newThread);
newThread.isBackground = true;
newThread.Start();