C#学习常用类(2000)---Thread类(Thread.IsBackground属性)
2016-12-08 10:08
405 查看
Thread.IsBackground属性:
获取或设置一个值,该值指示某个线程是否为后台线程。
命名空间: System.Threading
程序集: mscorlib(在 mscorlib.dll 中)
语法:
异常
备注
一个线程或者是后台线程或者是前台线程。后台线程与前台线程类似,区别是后台线程不会防止进程终止。属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该进程。所有剩余的后台线程都会停止且不会完成。
示例
下面的代码示例对比了前台线程与后台线程的行为。创建一个前台线程和一个后台线程。前台线程使进程保持运行,直到它完成它的 while 循环。前台线程完成后,进程在后台线程完成它的 while 循环之前终止。
Windows
98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition,
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows
Server 2003, Windows XP Media Center Edition, Windows XP Professional
x64 Edition, Windows XP SP2, Windows XP Starter Edition
Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。
版本信息
备注:转自https://msdn.microsoft.com/zh-cn/library/system.threading.thread.isbackground(v=vs.85).aspx
获取或设置一个值,该值指示某个线程是否为后台线程。
命名空间: System.Threading
程序集: mscorlib(在 mscorlib.dll 中)
语法:
public bool IsBackground { get; set; }
属性值
如果此线程是后台线程或即将成为后台线程,则为 true;否则为 false。异常
异常类型 | 条件 |
---|---|
ThreadStateException | 线程已死。 |
一个线程或者是后台线程或者是前台线程。后台线程与前台线程类似,区别是后台线程不会防止进程终止。属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该进程。所有剩余的后台线程都会停止且不会完成。
示例
下面的代码示例对比了前台线程与后台线程的行为。创建一个前台线程和一个后台线程。前台线程使进程保持运行,直到它完成它的 while 循环。前台线程完成后,进程在后台线程完成它的 while 循环之前终止。
using System;using System.Threading;class Test { static void Main() { BackgroundTest shortTest = new BackgroundTest(10); Thread foregroundThread = new Thread(new ThreadStart(shortTest.RunLoop)); foregroundThread.Name = "ForegroundThread"; BackgroundTest longTest = new BackgroundTest(50); Thread backgroundThread = new Thread(new ThreadStart(longTest.RunLoop)); backgroundThread.Name = "BackgroundThread"; backgroundThread.IsBackground = true; foregroundThread.Start(); backgroundThread.Start(); } } class BackgroundTest { int maxIterations; public BackgroundTest(int maxIterations) { this.maxIterations = maxIterations; } public void RunLoop() { String threadName = Thread.CurrentThread.Name; for(int i = 0; i < maxIterations; i++) { Console.WriteLine("{0} count: {1}", threadName, i.ToString()); Thread.Sleep(250); } Console.WriteLine("{0} finished counting.", threadName); } }平台
Windows
98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition,
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows
Server 2003, Windows XP Media Center Edition, Windows XP Professional
x64 Edition, Windows XP SP2, Windows XP Starter Edition
Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。
版本信息
.NET Framework
受以下版本支持:3.0、2.0、1.1、1.0.NET Compact Framework
受以下版本支持:2.0XNA Framework
受以下版本支持:1.0备注:转自https://msdn.microsoft.com/zh-cn/library/system.threading.thread.isbackground(v=vs.85).aspx
相关文章推荐
- C#学习常用类(2000)---Thread类
- c# treeview 节点的全选/取消
- c#闭包(转)
- C#异常处理
- C# 实现ADSL自动断网和拨号的方法(适用于拨号用户)
- C#委托使用详解(Delegates)
- C# 设置Excel单元格属性
- C#对多个集合和数组的操作方法(合并,去重,判断)
- C# 中的委托和事件
- 用C#和Websocket实现实时通讯-GoEasy
- c#单例模式 两种实现方式
- 抽象类接口等知识总结
- C#计算器(递归,WebService) 支持加减乘除括号等 (二)
- (转)C#调用默认浏览器打开网页的几种方法
- C#计算器(递归,WebService) 支持加减乘除括号等 (一)
- 《Programming.C#》学习笔记二
- 关于几种退出方法
- C#64课的主要内容
- C#可空类型的速度和GC Alloc测试
- C# 窗口和程序的退出