只有一个前台线程在运行,应用程序的进程就在运行,如果多个前台线程在运行,但是Main方法结束了,应用程序的进程仍然是运行的,直到所有的前台线程完成其任务为止。
在默认情况下,用Thread类创建的线程是前台线程。线程池中的线程总是后台线程。
在用Thread类创建线程的时候,可以设置IsBackground属性,表示它是一个前台线程还是一个后台线程。
看下面例子中前台线程和后台线程的区别:
class Program
{
static void Main()
{
var t1 = new Thread(ThreadMain) { IsBackground = true };//设置为成后台线程
t1.Start();
Console.WriteLine("Main thread ending now.");
}
static void ThreadMain()
{
Console.WriteLine("Thread +" + Thread.CurrentThread.Name + " started");
Thread.Sleep(3000);
Console.WriteLine("Thread +" + Thread.CurrentThread.Name + " started");
}
}
浙公网安备 33010602011771号