前台线程和后台线程的区别

 1     class Program
 2     {
 3         public static void Go(bool background)
 4         {
 5             //创建一个线程
 6             Thread t = new Thread(ThreadMethod);
 7             
 8             if (background) t.IsBackground = true;
 9             //开始线程
10             t.Start(); 
11             return;
12         }
13 
14         private static void ThreadMethod()
15         {
16             //模拟10秒的工作任务
17             Thread.Sleep(10000); 
18             Console.WriteLine("ThreadMethod is exiting");
19         }
20 
21         static void Main()
22         {
23             //如果是前台线程(参数false),则main执行完毕后,需要等待ThredMethod返回才会结束应用程序。
24             //如果是后台线程(参数true),则main执行完毕后,不会等待ThredMethod返回,立即结束ThredMethod。
25             Go(true);
26         }
27     }

通过Thread New创建的线程默认都是前台线程,线程池线程默认都是后台线程。

原文地址:https://www.cnblogs.com/zsx-blog/p/14985481.html