IsBackground的理解

Posted 金融之王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IsBackground的理解相关的知识,希望对你有一定的参考价值。

1、当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。

2、当主线程退出的时候,IsBackground=FALSE的线程还会继续执行下去,直到线程执行结束。

3、只有IsBackground=TRUE的线程才会随着主线程的退出而退出。

4、当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的退出而退出。

5、原理:只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。

 

.Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。

以上是关于IsBackground的理解的主要内容,如果未能解决你的问题,请参考以下文章

background-position-x (background-position-y) 是标准的 W3C CSS 属性吗?

Thread 设置 IsBackground true false 的 运行差别

为啥 Thread.Abort 仅在 isBackground 属性设置为 true 时才有效?

编写高质量代码改善C#程序的157个建议——建议74:警惕线程的IsBackground

在 Form2() 中启动“新线程 IsBackground = true”并陷入 while(true) 循环

background-origin和background-clip的理解