-
前台线程:应用程序必须运行完所有的前台线程才能退出,默认创建的线程都是前台线程。
-
后台线程:应用程序可以不必考虑后台线程是否已经运行完毕(包括正常退出和异常退出),只要所有的前台线程结束,后台线程自动结束。
一般后台线程用于处理时间较短的任务,如在一个Web服务器中可以利用后台线程来处理客户端发过来的请求信息。而前台线程一般用于处理需要长时间等待的任务,如在Web服务器中的监听客户端请求的程序,或是定时对某些系统资源进行扫描的程序。
如何将线程设置为前台或后台线程?
thread1.IsBackground = false;//将thread1设置为前台线程(默认状态)
fThread.IsBackground = true;//将thread1设置为后台线程
修改如下代码中的bThread线程的前后台属性可体会前台线程和后台线程的区别:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ThreadTest backGround = new ThreadTest(3);
Thread fThread = new Thread(new ThreadStart(backGround.Test));