后臺線程:后臺線程是可以隨時被CLR關閉而不引發異常的,也就是說當后臺線程被關閉時,資源的回收是立即的,不等待的,也不考慮后臺線程是否執行完成,就算是正在執行中也立即被終止。【后臺,存在于黑暗之中默默無聞,它的消亡和存在,別人也感受不到】
前臺線程:前臺線程是不會被立即關閉的,它的關閉只會發生在自己執行完成時,不受外在因素的影響。假如應用程序退出,造成它的前臺線程終止,此時CLR仍然保持活動并運行,使應用程序能繼續運行,當它的的前臺線程都終止后,整個進程才會被銷毀。
說明:
(1)在任何時候我們都可以通過線程的IsBackground屬性改變線程的前后臺屬性
(2)應用程序的主線程以及使用Thread構造的線程都默認為前臺線程
線程池線程也就是使用 ThreadPool.QueueUserWorkItem()和Task工廠創建的線程都默認為后臺線程
新聞熱點
疑難解答