我有一個Windows應用程序C#4.0 multithreadings問題是,當我關閉應用程序,進程停留在,無論我做什麼,所以我必須這樣做:重新啓動Windows窗體應用程序
environment.exit(1);
或進程wouldnt關閉,
問題是如果我執行environment.exit(1)然後application.restart()將無法正常工作。
任何想法如何殺死進程,然後重新啓動?應用程序創建
我有一個Windows應用程序C#4.0 multithreadings問題是,當我關閉應用程序,進程停留在,無論我做什麼,所以我必須這樣做:重新啓動Windows窗體應用程序
environment.exit(1);
或進程wouldnt關閉,
問題是如果我執行environment.exit(1)然後application.restart()將無法正常工作。
任何想法如何殺死進程,然後重新啓動?應用程序創建
線程必須退出應用程序,否則CPU和/或存儲將被掛線程消耗
有一些線程必須運行所有的時間,他們正在監聽一個端口並從中獲取數據,所以我可以放棄關閉事件中的所有線程,但仍然不會結束進程。 – 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