在C#中,每个线程都有一个生命周期。线程的生命周期在创建System.Threading.Thread类的实例时启动。当线程的任务执行完成时,它的生命周期就结束了。
在C#中,线程的生命周期中有以下状态。
- Unstarted
- Runnable (Ready to run)
- Running
- Not Runnable
- Dead (Terminated)
Unstarted未启动状态
创建Thread类的实例时,默认情况下它处于未启动状态。
Runnable可运行状态
调用线程上的start()方法时,它处于Runnable或Ready to Run状态。
Running运行状态
一个进程中一次只能执行一个线程。在执行时,线程处于运行状态。
Not Runnable不可运行状态
如果在线程上调用了SLEEP()或WAIT()方法,或者输入/输出操作被阻塞,则线程处于不可运行状态。
Dead终止状态
任务完成后,线程进入死或终止状态。