一些操作可以關注:gc.collect() 另:
1,將主線程設定為後台程序。方法是將主線程的isbackground = true。據說,這樣在關閉主程式時後關閉主線程,並關閉所有的執行緒。
2,有人列出了c#程式退出的幾種方法:
(2) system.environment.exit(0) //無論在主線程或其它執行緒,都可以吧程式結束乾淨
但是我發現(2)這個方法在.netframe work compact下是沒有的我這樣
最後我的解決辦法是:強制退出程式程序。**如下:
system.diagnostics.process tt = system.diagnostics.process.getprocessbyid(system.diagnostics.process.getcurrentprocess().id);
tt.kill();
當然,這種方法很暴力。良好的程式設計應該是,所有的執行緒都有條件可以結束迴圈以退出(包括timer)。在程式退出時觸發所有執行緒的終止條件。
VC程式退出 如何退出
1 onok 或oncancel 只對視窗程式有用 2 postquitmessage 0 最常用 3 exitprocess 0 強制結束,注意防止記憶體洩漏4 void cmainframe onclose 如 void ccsview onshutdown 自定義 clgndlg lgndlg...
C程式退出
有5種方式正常退出,3種方式異常退出 在程式退出後執行其它函式 用atexit註冊終止處理程式 正常退出方式 1 呼叫exit函式 退出之前會做一些清理工作,比如關閉已經開啟的檔案流 2 從main函式返回,效果和呼叫exit函式一樣 3 呼叫 exit或 exit函式 直接退出,不做任何事情 4 ...
C 程式退出小記
是這樣的,我需要啟動乙個輪詢執行緒,然後,在退出的時候,發現其並沒有被關掉,於是問題就產生了。主要在wpf程式,winform中遇到的。這樣就有了等待的說法,自然是要等執行緒全部退出才退出程式比較好。這個辦法暫時還沒用。然後,我採用了暴力的手段。2.2.1 例項退出 會有問題的,release下會崩...