C# IsBackground作用

C# IsBackground作用https://blog.csdn.net/snakorse/article/details/43888847要点:1、当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为

大家好,又见面了,我是你们的朋友全栈君。

https://blog.csdn.net/snakorse/article/details/43888847

要点:

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

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

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

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

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

 

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

既然前台线程和后台线程有这种差别,那么我们怎么知道该如何设置一个线程的IsBackground属性呢?下面是一些基本的原则:对于一些在后台运行的线程,当程序结束时这些线程没有必要继续运行了,那么这些线程就应该设置为后台线程。比如一个程序启动了一个进行大量运算的线程,可是只要程序一旦结束,那个线程就失去了继续存在的意义,那么那个线程就该是作为后台线程的。而对于一些服务于用户界面的线程往往是要设置为前台线程的,因为即使程序的主线程结束了,其他的用户界面的线程很可能要继续存在来显示相关的信息,所以不能立即终止它们。这里我只是给出了一些原则,具体到实际的运用往往需要编程者的进一步仔细斟酌。
一般后台线程用于处理时间较短的任务,如在一个Web服务器中可以利用后台线程来处理客户端发过来的请求信息。而前台线程一般用于处理需要长时间等待的任务,如在Web服务器中的监听客户端请求的程序,或是定时对某些系统资源进行扫描的程序。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155444.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • zencart的html文件,zencart模板 哪儿有zencart免费模版?

    zencart的html文件,zencart模板 哪儿有zencart免费模版?才接触zencart,但是代码,css+div都懂,毕竟自己不是美工。现在有个B2教你一个方法,把模板down下来,然后先通过CSS+div修改成适合zencart的标签。哪里有漂亮的zencart模板?免费的如果作者只是玩玩,建议你去zencart国内论坛的模板下载区看看如果是商用,免费模板一般都是拿来作为基础模板进行修改的。哪儿有zencart免费模版?zencart模板里,如何实现在商…

  • 人体表面积的计算公式_体表面积快速计算公式

    人体表面积的计算公式_体表面积快速计算公式体表面积(BSA)即是人体表面积。由于形状的特殊性,直接测量非常复杂。多年来,人们总结出许多计算公式用于估算体表面积。使用这些公式,身体表面积将以平方米计算出来。常用体表面积计算公式:1)Mosteller公式:一个最经常使用的公式,发布于1987年。BSA(m²)=([身高(cm)x体重(kg)]/3600)^½。2)DuBois与DuBois公式(1,注):BSA(…

  • Yeah,我的Pygame安装成功了!(Windows Pygame 安装教程)

    Yeah,我的Pygame安装成功了!(Windows Pygame 安装教程)最近在自学python,在看完了些基础知识之后,准备写个小项目,我对照的教程是《python编程-从入门到实践》。在这本书的第二部分项目篇的第一个小项目是【外星人入侵】,这个项目需要安装pygame,书中有给出了两个下载链接:https://bitbucket.org/pygame/pygame/downloads/和http://www.lfd.uci.edu/~gohlke/pythonl…

  • 数据库按条件查询语句_sql多条件筛选语句

    数据库按条件查询语句_sql多条件筛选语句文章目录前言一、单条件查询二、多条件查询前言1.熟练掌握where子句各类运算符的使用2.熟练掌握多条件查询and、or的使用一、单条件查询在SQL中,insert、update、delete和select后面都能带where子句,用于插入、修改、删除或查询指定条件的记录SELECTcolumn_nameFROMtable_nameWHEREcolumn_name运算符value语句:select*fromtable_namewherecolumn_name运

  • docker dockerfile详解_docker运行命令

    docker dockerfile详解_docker运行命令前言Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile简介Dockerfile是用来构建Docker镜像的构建文件,是由一系列

  • 图书管理系统C语言_c语言图书信息管理系统

    图书管理系统C语言_c语言图书信息管理系统《C语言图书管理系统代码》由会员分享,可在线阅读,更多相关《C语言图书管理系统代码(3页珍藏版)》请在人人文库网上搜索。1、include#includenum,ptr-bname,ptr-wname,ptr-press,ptr-sort,ptr-time,ptr-price);printf(=n);f*n,p-num,p-bname,p-wname,p-press,p-sort,p-time…

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号