我的應用程序由主消息循環(GUI)和線程(Task.Factory)組成。線程,進程和Application.Exit()
在我打電話與var p = new Process();
一些第三方應用程序的線程但是,當我在消息循環調用Application.Exit();
- 我可以看到,這是在線程啓動的進程,仍然在內存和正在執行。
所以問題是 - 如何在Application.Exit();
被調用後立即終止所有線程和進程?
UPD:
老:
p.WaitForExit();
新:
while (!p.WaitForExit(1000))
{
if (FlagToExit)
{
p.Kill();
return;
}
}
所以我只需要創建一些布爾標誌,我需要在線程中觀察它什麼時候變成真(我將在Application.ApplicationExit事件中賦值爲true)然後終止進程? – zerkms 2010-09-11 03:21:03
我已添加更新,關於我如何實現它。請批評它。 – zerkms 2010-09-11 03:34:43
你說什麼應該工作。 – 2010-09-11 06:26:03