Thread 设置 IsBackground true false 的 运行差别

Thread 设置 IsBackground true false 的 运行差别1.这是一个后台线程,IsBackground=true,主线程完成后,后台子线程也停止了,即使子线程还有没运行完,也要停止classProgram{staticvoidMain(string[]args){Threadt=newThread(()=>{…

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

Jetbrains全系列IDE稳定放心使用

1.这是一个 后台线程,IsBackground=true,  主线程完成后,后台子线程也停止了,即使 子线程 还有没运行完,也要停止

 

 class Program
    {

        static void Main(string[] args)
        {
            Thread t = new Thread(() => {
                Console.WriteLine("5秒后,运行子线程");
                Thread.Sleep(TimeSpan.FromSeconds(5));
                Console.WriteLine("运行完毕");

                Console.WriteLine("5秒后,再运行子线程任务");
                Thread.Sleep(TimeSpan.FromSeconds(5));
                Console.WriteLine("因为主线程要求6秒完成, 这里需要10秒,所以这句话不会输出");
                Console.ReadKey();
            });
            t.IsBackground = true;//设置为后台线程,主线程完成后,后台线程也停止
            t.Start();
            Console.WriteLine("主线程给 后台子线程 6秒完成任务");
            Thread.Sleep(TimeSpan.FromSeconds(6));
            Console.WriteLine("主线程完成了");
        }


    }

 

 

2.因为线程IsBackground=false,不是后台线程,所以主线程即使完成了,子线程也会继续完成

 

 class Program
    {
       
        static void Main(string[] args)
        {
            Thread t = new Thread(() => {
                Console.WriteLine("5秒后,运行子线程");
                Thread.Sleep(TimeSpan.FromSeconds(5));
                Console.WriteLine("子线程运行完毕");

                Console.WriteLine("5秒后,再运行子线程任务");
                Thread.Sleep(TimeSpan.FromSeconds(5));
                Console.WriteLine("因为线程IsBackground = false,不是后台线程,所以主线程即使完成了,子线程也会继续完成");
                Console.WriteLine("请按任意键结束。。。。");
                Console.ReadKey();
            });
            t.IsBackground = false;//因为线程IsBackground = false,不是后台线程,所以主线程即使完成了,子线程也会继续完成
            t.Start();
            Console.WriteLine("主线程给 子线程 6秒完成任务");
            Thread.Sleep(TimeSpan.FromSeconds(6));
            Console.WriteLine("主线程完成了");
        }
      
       
    }

 

转载于:https://www.cnblogs.com/HCCZX/p/11555751.html

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

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

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

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

(0)


相关推荐

  • main方法详解

    main方法详解学习Java有一段时间了,一直没用过博客来写写自己在学习过程中遇到的问题和学习心得,看到别人在诸如博客这样的社区写一些总结觉得挺好的。索性,今天开始自己也用起博客记录学习。一来呢,能更好的总结学习知识。二来,有问题更有机会让别人指出,对自己学习也很有帮助。话不多说,就以main方法详解开始今天的主题吧。      为了表述方便,我先把mian方法写出来:publicclassDemo

  • 全面解析傅立叶变换(非常详细)

    全面解析傅立叶变换(非常详细)前言第一部分、DFT第一章、傅立叶变换的由来第二章、实数形式离散傅立叶变换(RealDFT)从头到尾彻底理解傅里叶变换算法、下第三章、复数第四章、复数形式离散傅立叶变换前言:“关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很

    2022年10月21日
  • mediumtext_mediumtext数据类型 | 学步园

    mediumtext_mediumtext数据类型 | 学步园mediumtext数据类型的一种。mediumtext字段类型是允许存放16777215字节内的文字字符串字段类型。mediumtext功能:存放最大长度为16,777,215(2^24-1)个字符的字符串。语法:[UNSIGNED]mediumtextmysql中text,longtext,mediumtext字段类型的意思,以及区别text字段i类型是允许存放65535字节内的文字字符串字段…

  • app软件版本号命名规则_文件版本号命名规则

    app软件版本号命名规则_文件版本号命名规则为什么需要规范APP命名?当我们在需求及业务明确后,产品及设计已经做出了对应的文档及UI图,那么进入研发阶段开始编码实现功能,当功能实现的差不多了之后,期间会需要签出不同的包作为展示或测试,不管当前的进度处于什么阶段,签出对应安装包的时候都会对其进行命名并发送给测试人员。一般往往通过命名,就可以大概知道当前签出的包处于哪个版本阶段,Alpha阶段?Beta阶段?R

  • 在触发思考

    在触发思考

  • 如何获取手机gps数据_获取手机gps数据

    如何获取手机gps数据_获取手机gps数据不借助QXDM,直接通过手机抓取qxdm日志。主要用于测试GPS的时候使用,因为测试GPS大都需要在室外进行(室外卫星信号良好),并且GPS问题一般需要获取QXDM日志,在室外不能连接PC端使用QXDM客户端工具。adbshellmkdir/sdcard/diag_logsadbpushgnss.cfg/sdcard/diag_logs/Diag.cfg_GNSS_Generic_2020.cfgadbshelldiag_mdlog-f/sdcard/diag_logs/Di

发表回复

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

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