重新启动Windows窗体应用程序
问题描述:
我有一个Windows应用程序C#4.0 multithreadings问题是,当我关闭应用程序,进程停留在,无论我做什么,所以我必须这样做:重新启动Windows窗体应用程序
environment.exit(1);
或进程wouldnt关闭,
问题是如果我执行environment.exit(1)然后application.restart()将无法正常工作。
任何想法如何杀死进程,然后重新启动?应用程序创建
答
线程必须退出应用程序,否则CPU和/或存储将被挂线程消耗
+0
有一些线程必须运行所有的时间,他们正在监听一个端口并从中获取数据,所以我可以放弃关闭事件中的所有线程,但仍然不会结束进程。 – Stacker 2010-12-05 13:34:47
答
确保创建在后台运行所有的工作线程前终止(设置IsBackground
为真在开始之前)。后台线程不会阻止进程退出。
答
使用调试器。关闭主窗口后,使用Debug + Break All。调试+ Windows +线程。查看您在此处列出的线程的调用堆栈,以查找阻止该程序终止的线程。
答
您可以键入完全退出应用程序:
Application.Exit();
对于完全重新启动应用程序:
Application.Restart();
杀死所有的线程程序催生了? – spender 2010-12-05 13:25:19
不应该先尝试修复多线程问题吗? – ZippyV 2010-12-05 13:26:01