线程默认为前台线程,这意味着任何前台线程在运行都会保持程序存活。
后台线程:只要有一个前台线程在运行,应用程序的进程就在运行。如果多个前台线程在运行,而Main()方法结束了,应用程序的进程就是激活的,直到所有前台线程完成其任务为止。
前台线程和后台线程的唯一的区别是— 后台线程不会阻止进程终止。
在默认情况下,用Thread 类创建的线程都是前台线程。线程池中的线程总是后台线程。
在用Thread类创建线程时,可以设置属性IsBackground,以确定该线程是(false)前台线程还是(true)后台线程。
前台线程和后台线程适合的场合
通常,后台线程非常适合于完成后台任务,应该将被动侦听活动的线程设置为后台线程,而将负责发送数据的线程设置为前台线程,这样,在所有的数据发送完毕之前该线程不会被终止。 |