class Program { static void Main(string[] args) { /* 后台线程 * 只要有一个前台线程运行,应用程序就在运行 * 多个前台线程运行,Main()方法结束,应用程序的进程是激活的,直到前台线程完成任务 * 默认:Thread类创建的线程是前台线程,线程池中的是后台线程 */ Thread t1 = new Thread(ThreadMain); t1.Name = "66"; //设置为前台线程 t1.IsBackground = false; t1.Start(); Console.WriteLine("主线程结束!"); /* 运行中看到虽然主线程Main()方法已经结束退出 * 但整个程序任然继续运行,直到创建的t1线程(前台线程)运行至完毕才退出程序 * * 如果设置t1.IsBackground = true,既创建一后台线程,主线程Main()方法结束 * 整个程序退出,无论创建的t1线程(后台线程)是否运行至完毕 */ } static void ThreadMain() { Console.WriteLine("线程开始" + Thread.CurrentThread.Name); Thread.Sleep(5000); Console.WriteLine("线程完成!" + Thread.CurrentThread.Name); } }