[C#.NET][Thread] 背景執行緒與前景執行緒的差別
執行緒可分為前景執行緒與背景執行緒兩種,在預設的狀況下Thread是屬於前景執行緒也就是Thread.IsBackground=false,那這兩種執行緒差在哪裡呢?
若主程序已下達中止工作命令了,有任一前景執行緒尚未完成工作,程序不會立即中止,需待前景執行緒完成工作後才會終止。
反之,背景執行緒不管工作有沒有完成,一但收到中止命令,馬上就停下手邊的工作中止工作。
我們來用程式碼觀察其結果,程式碼出自http://msdn.microsoft.com/zh-tw/library/system.threading.thread.aspx
執行結果,當我按下任意鍵了,程序卻沒停止還在繼續工作
當我解開了註解t.IsBackground = true;
按下任意鍵後,便能立即離開程序,至於該用哪種執行緒就看個人需求了。
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET