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

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

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

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

Thread 设置 IsBackground true false 的 运行差别的更多相关文章

  1. 连接数据库超时设置autoReconnect=true

    1,问题现象: com.mysql.jdbc.CommunicationsException: The last packet successfully received from the serve ...

  2. C# 多线程Thread.IsBackground=True的作用

    C#中多线程的线程加.IsBackground = true与不加有什么区别? 按照MSDN上讲:“获取或设置一个值,该值指示某个线程是否为后台线程.” 其实这个解释并不到位,至少应该解释一下后台线程 ...

  3. C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思?

    原文:C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思? 在 .NET 中创建进程时,可以传入 ProcessStartInfo ...

  4. 设置ASP.NET页面的运行超时时间详细到单个页面及站点

    这篇文章主要介绍了如何设置ASP.NET页面的运行超时时间,包括全局超时时间.单个站点超时时间.单个页面请求超时时间,需要的朋友可以参考下     全局超时时间 服务器上如果有多个网站,希望统一设置一 ...

  5. docker搭建gitlab,设置邮件提醒,并运行runner

    接着http://www.cnblogs.com/wsy1030/p/8431837.html 在另一台机子运行gitlab: docker run --name='gitlab' -d -p 222 ...

  6. 在做了 BasePage 时: 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 / / 节中包括

    摘自: http://lichengguizy.blog.163.com/blog/static/11771858620122342749552/ 只有在配置文件或 Page 指令中将 enableS ...

  7. 问题:web.net页面超时;结果:设置ASP.NET页面的运行超时时间详细到单个页面及站点

    设置ASP.NET页面的运行超时时间详细到单个页面及站点 这篇文章主要介绍了如何设置ASP.NET页面的运行超时时间,包括全局超时时间.单个站点超时时间.单个页面请求超时时间,需要的朋友可以参考下 全 ...

  8. Delphi Thread.Queue与Synchronize的区别(差别: Synchronize是阻塞,Queue是非阻塞)

    前话:  其实大家要学会看源码, 我接下来要说的这些东东,与其等别人讲,还不如自己搞几个代码试一下,印象还深刻点 TThread.Queue和TThread.Synchronize的区别, 效果上:二 ...

  9. RocketMQ实战:生产环境中,autoCreateTopicEnable为什么不能设置为true

    1.现象 很多网友会问,为什么明明集群中有多台Broker服务器,autoCreateTopicEnable设置为true,表示开启Topic自动创建,但新创建的Topic的路由信息只包含在其中一台B ...

随机推荐

  1. 51nod 2502 最多分成多少块

    小b有个长度为n的数组a,她想将这个数组排序. 然而小b很懒,她觉得对整个数组排序太累了,因此她请你将a分成一些块,使得她只需要对每一块分别排序,就能将整个数组排序. 请问你最多能把a分成多少块. 保 ...

  2. Maven模块化搭建总结

    1.Maven插件在eclipse的安装 windows——>preferences——>Maven——>installations——>add——>installati ...

  3. No Compiler is Provided in this environment Perhaps you are running on JRE rather than a JDK

    问题描述: 在使用Jenkins打包的时候,抛出这样的错,但JDK和Maven都是已经安装,没问题了的.其中Jenkins用的Pipline流水线来部署项目. 问题解决: 在使用Pipline部署项目 ...

  4. http服务读取配置文件,交叉编译

    因为是在windows上编译的代码,在linux上不可执行,所以需要交叉编译 package main import ( "flag" "gopkg.in/ini.v1& ...

  5. OI歌曲汇总

    在学习的间隙,我们广大的OIer创作了许多广为人知的歌曲 这里来个总结 (持续更新ing......) Lemon OI 葛平 Lemon OI chen_zhe Lemon OI kkksc03 膜 ...

  6. WinDbg 图形界面功能(三)

    1.4.调试菜单 调试相关操作的功能菜单在这个下面,比如单步执行等. Go 单击Go调试菜单恢复 (或开始) 在目标上的执行. 此执行将继续,直到抵达某个断点. 异常或事件发生时,该过程结束或调试器将 ...

  7. CF1237C2 【Balanced Removals (Harder)】

    这么妙的题怎么没人发题解啊 首先这是三维的,我们可以对其进行降维打击 先考虑一维怎么做? 我们可以对其该维坐标进行排序,按照顺序输出,可能会多余一个 那拓展到二维呢? 我们可以把它转化成一维,分成很多 ...

  8. required string parameter 'XXX'is not present 的几种情况

    required string parameter 'XXX'is not present 的几种情况 情况一:原因是由于头文件类型不对,可以在MediaType中选择合适的类型,例如GET和POST ...

  9. Kubernetes Pod概述

    Pod简介 Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程. 一个Pod封装一个应用容器,Pod代表部署的一个单位. Pods提供两种共享资源: ...

  10. java操作数据库,以页面显示学生信息为例

    该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息. =================stuList.jsp======== ...