C#后台线程与前台线程(Thread IsBackground) - zLulus/My_Note GitHub Wiki

C#中,Thread类有一个IsBackground 的属性。
MSDN上对它的解释是:获取或设置一个值,该值指示某个线程是否为后台线程。

.Net中的线程,可以分为后台线程和前台线程。
后台线程与前台线程并没有本质的区别,它们之间唯一的区别就是:
后台线程不会防止应用程序的进程被终止掉。
就是当前台线程都结束了的时候,整个程序也就结束了,即使还有后台线程正在运行,此时,所有剩余的后台线程都会被停止且不会完成。
但是,只要还有一个前台线程没有结束,那么它将阻止程序结束。

应用程序进程的存亡由前台线程决定而于后台线程无关。

这就是它们的区别.改变线程从前台到后台不会以任何方式改变它在CPU协调程序中的优先级和状态。因为前台后线程与程序进程的优先级无关。 创建一个前台线程和一个后台线程。

前台线程使进程保持运行,直到它完成它的 while 循环。前台线程完成后,进程在后台线程完成它的 while 循环之前终止。

参考资料

https://www.cnblogs.com/vaevvaev/p/7126548.html