我的应用程序由主消息循环 (GUI) 和线程 (Task.Factory) 组成。
在线程中,我使用 var p = new Process();
但是当我在消息循环中调用 Application.Exit();
时 - 我可以看到在线程中启动的进程仍在内存中并正在执行。
所以问题是 - 如何在调用 Application.Exit();
后立即终止所有线程和进程?
更新:
旧的:
p.WaitForExit();
新:
while (!p.WaitForExit(1000))
{
if (FlagToExit)
{
p.Kill();
return;
}
}
最佳答案
简单地试试这个
当你创建一个线程时,让它成为后台线程
Thread.IsBackground = true;
和 Application.Exit();
所有线程将被关闭
关于c# - 线程、进程和 Application.Exit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3689564/