Thread.IsBackground 属性

Thread.IsBackground 属性net提供了Thread类用于线程的操作。当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的推出而退出。后台线程不妨碍程序的终止,只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。【注意】当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALS…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

net 提供了Thread类用于线程的操作。

当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的推出而退出。后台线程不妨碍程序的终止,只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。

【注意】当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。也就是说,当主线程推出的时 候,IsBackground=FALSE的线程还会继续执行下去,知道线程执行结束。只有IsBackground=TRUE的线程才会顺着主线程的推 出而退出。

static void Main(string[] args)
{       
     Thread[] trd=new Thread[2];
            for (int i = 0; i < 2; i++)
            {

                trd[i]=new Thread(new ThreadStart(ThreadA));
                //trd.Start();
                //trd[i].IsBackground = true;
            }
            Console.WriteLine(“/n/t!! 2 mmmm!!”);
            trd[0].IsBackground = true;

            trd[0].Start();
            trd[1].Start();
            //trd[1].Join();
            //trd[0].Join();
     return;
}

public static void ThreadA()
        {

            int i = 0;
            Console.WriteLine(“id: “+Thread.CurrentThread.ManagedThreadId);
            for (; i < 10000; i++)
            {

                Console.Write(“A”);
                if (i > 200)
                {

                    Console.WriteLine(i);
                    return;
                }
            }
            Console.WriteLine(i);
           
        }

执行上面的例子可以知道,当主线程显示退出的时候,只要那些IsBackground=TRUE的线程随着主线程一起退出了,而那些IsBackground=FALSE还是需要等到自己执行完成完了之后才会退出。

当主线程不显示推出的时候,结果更是奇怪,就是代码执行到最后,主线程应该算是可以退出了。但是这时候IsBackground=FALSE的线程也不退出。也是要等到执行完成后才退出。

可见,.net中的线程应该是尽量保证所有线程都执行完了后才让整个程序退出。具体是个什么个规则就该去问微软了啊!!

转载于:https://www.cnblogs.com/vmyspace/archive/2012/01/30/2332190.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183740.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月31日 下午5:36
下一篇 2022年8月31日 下午5:36


相关推荐

  • Java中Scanner的用法:单行/多行输入

    Java中Scanner的用法:单行/多行输入Java的Scanner用法,主要用于算法笔试时的控制台输入问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串最好解决的情况单行输入多个字符串多行输入多个字符串问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串平时写程序一般不用Scanner,线上笔试的时候,各大公司热衷于Scanner输入。平时用LeetCode刷题也不会用到,结果多次在笔试时候卡在Scan……

    2022年7月20日
    92
  • Google浏览器清除缓存怎么弄_谷歌浏览器f12清理缓存

    Google浏览器清除缓存怎么弄_谷歌浏览器f12清理缓存google浏览器设置不缓存的方法摘要:我们在做web开发的时候特别是在调试js时,会经常使用的google浏览器,这个时候就要我们修改过的代码可能不能生效。这是因为我们的浏览器默认是有缓存的,但是

    2022年8月6日
    27
  • DoS和DDoS攻击[通俗易懂]

    DoS和DDoS攻击[通俗易懂]文章目录一、DoS攻击1、DoS攻击简介2、DoS攻击分类2.1、按攻击的对象分类2.2、按攻击目标分类2.3、按攻击方式分类2.4、按受害者类型分类2.5、按攻击是否针对受害者分类2.6、按攻击地点分类3、常见DoS攻击3.1、Land程序攻击3.2、SYNFlood攻击3.2、IP欺骗DoS攻击3.4、Smurf攻击3.5、PingofDeath3.6、Teardrop攻击3.7、WinNuke攻击二、DDoS攻击1、DDoS攻击

    2026年4月16日
    4
  • 以上都点赞表情包图片_超级点赞图片

    以上都点赞表情包图片_超级点赞图片原题链接微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F​1​

    2022年8月8日
    5
  • 如何快速的增加行业经验

    如何快速的增加行业经验

    2021年8月19日
    59
  • 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed

    成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed成功解决 urllib error URLError urlopenerror Errno11004 getaddrinfof 目录解决问题解决思路解决方法第一步 找到新的网址第二步 查看源代码 将网址覆盖即可 解决问题 urllib error URLError urlopenerror Errno11004 getaddrinfof 解决思路 urll urlopenerror Errno11004 getaddrinfof urlopenerror Errno11004 getaddrinfof

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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