Dotnet中強行關閉多線程應用程序的所有線程

Dotnet中強行關閉多線程應用程序的所有線程

對於多線程應用程序來說,如果直接點擊右上角“關閉”按鈕,或者使用“this.close()”來退出程序的話, 此時若某個子線程依然在處理數據,則雖然主程序窗口會關閉,但程序的進程並未退出,這就使得我們還要在“資源管理器”中找到該進程並強行關閉。

當然,對於有的程序來說,這種情況無所謂,主窗口關閉後,還未運行完畢的子線程繼續運行,所有子線程都運行關閉後,程序的進程自動會關閉,這樣還可以避免丟失子線程中正在處理的數據。

但是,有的時候,我們想要立即強行退出所有的線程,這時,可以在this.close()前加一句:
System.Diagnostics.Process.GetCurrentProcess().Kill();
請注意:使用以上方法前請先確認子線程中正在處理的數據的丟失是你可以承受的! 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章