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创建的线程默认都是前台线程,线程池线程默认都是后台线程。