前台线程后台线程 情不自禁转载下



https://blog.csdn.net/lulu_jiang/article/details/5691405   

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);
        }
    }

你可能感兴趣的:(VS-C#编WPF,C#语言)