C#【多线程篇】Thread的IsBackground属性的使用
2023-09-11 14:15:48 时间
说明:
Thread的IsBackground = true;//主程序结束后,线程随之结束【日常要用到的】
Thread的IsBackground = false;//主程序结束后,线程不会随之结束
代码:
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Thread t = new Thread(() =>
{
Console.WriteLine("1");
Console.WriteLine("线程结束");
Console.ReadLine();
});
// 摘要:
// 获取或设置一个值,该值指示某个线程是否为后台线程。
//
// 返回结果:
// 如果此线程为或将成为后台线程,则为 true;否则为 false。
t.IsBackground = true;//主程序结束后,线程随之结束【日常要用到的】
//t.IsBackground = false;//主程序结束后,线程不会随之结束
t.Start();
Console.WriteLine("主线程完毕!");
}
}
}
测试结果:
【 t.IsBackground = true时】时:
只运行到下边最后一条则结束程序 :
Console.WriteLine("主线程完毕!");
【 t.IsBackground = false】时:
主程序运行到最后,线程中的程序也运行完才结束
相关文章
- 如何在Visual Studio 2017中使用C# 7+语法
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- c#运用反射获取属性和设置属性值
- 【C#】Notebook
- C#反射获取属性值和设置属性值
- C#中遍历类的属性和值
- C#中sizeof的用法
- C#程序集系列04,在程序集包含多个module的场景下理解关键字internal
- C#通过FTP账号上传、修改、删除文件 FTPClient
- c# 接口实现
- c# String 常用方法应用
- C#与matlab混合编程
- C#利用反射获取实体类的主键名称或者获取实体类的值
- 你是否有遇到过某个实体类字段(属性)过多的情况,不想每次点的话戳进来(C# 反射)
- C#如何实现一个简单的流程图设计器
- C# 如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化
- 【WPF】C#代码动态添加控件的Margin属性