您的位置:首页 > 编程语言 > C#

C#学习常用类(2000)---Thread类(Thread.IsBackground属性)

2016-12-08 10:08 405 查看
Thread.IsBackground属性:
获取或设置一个值,该值指示某个线程是否为后台线程。
命名空间: 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.0

XNA Framework

受以下版本支持:1.0

备注:转自https://msdn.microsoft.com/zh-cn/library/system.threading.thread.isbackground(v=vs.85).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息