后台线程和前面线程的最大区别在于,后台线程不会阻止进程中止,,当属于某个进程的所有前台线程都中止了,,,,公共语言运行库就会结束该进程,所有剩余后台线程都会停止且不会完成。 下面为演示代码 using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ConsoleApplication1 { class Program { private static void fnTestThread(object data) { string sMsg; string sThreadName = Thread.CurrentThread.Name; int nLoopCount = (int)data; for (int i = 0; i < nLoopCount; i++) { sMsg = string.Format("Thread {0} Loop {1} ", sThreadName, i); Console.WriteLine(sMsg); Thread.Sleep(250); } sMsg = string.Format("Thread {0} End", sThreadName); Console.WriteLine(sMsg); } static void Main(string[] args) { //前台线程,执行10次 Thread objForThread = new Thread(new ParameterizedThreadStart(fnTestThread)); objForThread.Name = "ForegroundThread"; objForThread.Start(20); //后台线程,执行50次 Thread objBackThread = new Thread(new ParameterizedThreadStart(fnTestThread)); objBackThread.Name = "BackgroundThread"; objBackThread.IsBackground = true; objBackThread.Start(50); } } }