不要将前台线程 (Foreground Threads) 和后台线程 (Background Threads)
指和常说的主线程 ( Primary Thread)和工作者线程 (Worker Thread) 混淆。
它们的定义如下 :
前台线程 (Foreground Threads): 前台线程可以阻止程序退出。除非所有前台线程都结束,否则 CLR不会关闭程序。
后台线程 (Background Threads) : 有时候也叫 Daemon Thread 。他被 CLR 认为是不重要的执行路径,可以在任何时候舍弃。因此当所有的前台线程结束,即使还有后台线程在执行, CLR 也会关闭程序。
使用 Thread 类启动一个线程默认就是前台线程 (Foreground Threads) ,但是可以通过给 IsBackground 赋值将线程转变为后台线程。
例如 :