關閉應用程式時如何關閉子執行緒
執行緒分為前臺執行緒和後臺執行緒,這兩者的區別就是:應用程式必須執行完所有的前臺執行緒才可以退出,有時雖然我們關閉了主視窗,但前以子執行緒還沒有結束,應用程式此時並沒有真正完全關閉;而對於後臺執行緒,應用程式則可以不考慮其是否已經執行完畢而直接退出,所有的後臺執行緒在應用程式退出時都會自動結束。
通過將 Thread.IsBackground 設定為 true,就可以將執行緒指定為後臺執行緒。同樣,通過將 IsBackground 設定為 false,就可以將執行緒指定為前臺執行緒。從非託管程式碼進入托管執行環境的所有執行緒都被標記為後臺執行緒。通過建立並啟動新的 Thread 物件而生成的所有執行緒都是前臺執行緒。
如果沒有設定前後臺執行緒的區別,還有另外一個方法可以在程式結束的時候對其執行關閉操作,那就是在程式的關閉事件中加入如下處理程式碼:
try { Thread.CurrentThread.Abort(); } catch (ThreadAbortException) { System.Diagnostics.Process.GetCurrentProcess().Kill(); }
通過檢測ThreadAbortException異常來執行關聯執行緒的停止操作。
但是,通常情況下,我們最好讓子執行緒自己結束,即執行緒工作完成,自動結束.暴力終止執行緒,可能導致執行緒任務異常終止,造成資料出錯.
相關文章
- python多執行緒中:如何關閉執行緒?Python執行緒
- 如何正確的關閉 MFC 執行緒執行緒
- 如何優雅的關閉Java執行緒池Java執行緒
- Java優雅關閉執行緒池Java執行緒
- 執行緒池關閉的小結執行緒
- 優雅關閉執行緒池的方案執行緒
- Java關閉Socket來終止執行緒Java執行緒
- C#執行緒間同步無法關閉C#執行緒
- 使用screen讓關閉ssh連線時不關閉程式
- intellij 關閉後程式還在執行IntelliJ
- 在Win10平板模式下如何關閉應用程式?Win10模式
- win10電腦執行cmd命令怎麼關閉defend_win10如何執行cmd關閉defendWin10
- 批量關閉程式
- Android應用關閉,重啟Android
- 如何關閉win10時間軸_win10時間線關閉的方法Win10
- win10怎麼關閉安全掃描 win10正在執行安全掃描如何關閉Win10
- win10如何關閉所有程式_win10怎麼一鍵關閉程式Win10
- win10怎麼關閉電腦後臺執行程式_win10系統關閉後臺應用的方法Win10行程
- Qt啟動子程式,子程式關閉時通知主程式,實現主程式對子程式的管理QT
- 程式碼驗證C#執行”檔案開啟關閉操作“耗時C#
- 如何實現Spring中服務關閉時物件銷燬執行程式碼Spring物件行程
- 系統關閉時候,oracle資料庫執行動作Oracle資料庫
- Win7系統關機時提示關閉程式Win7
- win10怎麼關閉卡死程式 win10程式卡死如何強制關閉Win10
- win10實時保護關閉方法_WIN10的實時保護如何關閉Win10
- java -jar 在後臺執行和關閉JavaJAR
- MRP 程式開啟和關閉實時應用 Oracle11g DGOracle
- Oracle EBS R11i 如何開啟關閉應用Oracle
- 強行關閉“殺”不了的程式(轉)
- win10如何關閉dwm程式_win10怎麼關閉dwm.exeWin10
- vue單頁面應用, 頁面重新整理, 後退, 前進及關閉時, vue執行的生命週期鉤子Vue
- win10怎麼關閉所有程式 win10關閉電腦所有程式如何操作Win10
- 一個正執行的程式如何啟動另一新程式並關閉現執行程式行程
- 關閉tomact被佔用的程式Mac
- Ubuntu下如何關閉指定埠的程式Ubuntu
- Mac電腦--應用程式強制關閉--蘋果電腦Mac蘋果
- 程式和執行緒相關執行緒
- [Electron] 應用不關閉視窗退出而是保留到後臺執行