单线程简介

单线程顾名思义,就是只有一个线程,默认情况下,系统为应用程序分配一个主线程,该线程执行程序中以Main方法开始和结束的代码。
线程具有生命周期,它包含3个状态,分别为出生状态、就绪状态和运行状态。

出生状态就是用户在创建线程时处于的状态,在用户使用该线程实例调用Start方法之前,线程都处于出生状态;当用户调用Start方法后,线程处于就绪状态(又被称为可执行状态);当线程得到系统资源后就进入运行状态。
一旦线程进入可执行状态,它会在就绪与执行状态下辗转,同时也有可能进入等待、休眠、阻塞或死亡状态。当处于运行状态下的线程调用Thread类中Suspend方法,该线程处于等待状态,进入等待状态的线程必须调用Thread类中的Resume方法才能被唤醒;当线程调用一个Thread类中的Sleep方法时,线程就进入休眠状态;如果一个线程在运行状态下发出输入/输出请求,该线程将进入阻塞状态,在其等待输入/输出结束时,线程进入就绪状态,对于阻塞的线程来说,即使系统资源空闲,线程依然不能回到执行状态;当线程执行完毕时,线程进入死亡状态。
图1描述了线程的生命周期的各个状态。
 
图1  线程的生命周期状态图
例如,新建一个Windows应用程序,程序会在Program.cs文件中自动生成一个Main方法,该方法就是主线程的启动入口点。Main方法代码如下。
[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值