zer*_*kms 3 .net c# multithreading process
我的应用程序包括主消息循环(GUI)和线程(Task.Factory).
在线程中我用一些第三方应用程序调用 var p = new Process();
但是当我Application.Exit();在消息循环中调用时- 我可以看到在线程中启动的进程仍然在内存中并且正在执行.
所以问题是 - 如何Application.Exit();在调用之后立即杀死所有线程和进程?
UPD:
旧:
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
新:
while (!p.WaitForExit(1000))
{
if (FlagToExit)
{
p.Kill();
return;
}
}
Run Code Online (Sandbox Code Playgroud)
试试吧
当你创建一个线程使它成为后台线程
Thread.IsBackground = true;
Run Code Online (Sandbox Code Playgroud)
并且 Application.Exit();
所有线程都将被关闭
| 归档时间: |
|
| 查看次数: |
4945 次 |
| 最近记录: |