Dotnet中強行關閉多線程應用程序的所有線程
對於多線程應用程序來說,如果直接點擊右上角“關閉”按鈕,或者使用“this.close()”來退出程序的話, 此時若某個子線程依然在處理數據,則雖然主程序窗口會關閉,但程序的進程並未退出,這就使得我們還要在“資源管理器”中找到該進程並強行關閉。
當然,對於有的程序來說,這種情況無所謂,主窗口關閉後,還未運行完畢的子線程繼續運行,所有子線程都運行關閉後,程序的進程自動會關閉,這樣還可以避免丟失子線程中正在處理的數據。
但是,有的時候,我們想要立即強行退出所有的線程,這時,可以在this.close()前加一句:
System.Diagnostics.Process.GetCurrentProcess().Kill();
請注意:使用以上方法前請先確認子線程中正在處理的數據的丟失是你可以承受的!