ThreadState 为线程定义了一组所有可能的执行状态。一旦线程被创建,它就至少处于其中一个状态中,直到终止。
Running | 线程已启动,它未被阻塞,并且没有挂起的 ThreadAbortException。 | |
StopRequested | 正在请求线程停止。这仅用于内部。 | |
SuspendRequested | 正在请求线程挂起。 | |
Background | 线程正作为后台线程执行(相对于前台线程而言)。此状态可以通过设置 Thread..::.IsBackground 属性来控制。 | |
Unstarted | 尚未对线程调用 Thread..::.Start 方法。 | |
Stopped | 线程已停止。 | |
WaitSleepJoin | 线程已被阻止。这可能是因为:调用 Thread..::.Sleep 或 Thread..::.Join、请求锁定(例如通过调用 Monitor..::.Enter 或 Monitor..::.Wait)或等待线程同步对象(例如 ManualResetEvent)。 | |
Suspended | 线程已挂起。 | |
AbortRequested | 已对线程调用了 Thread..::.Abort 方法,但线程尚未收到试图终止它的挂起的 System.Threading..::.ThreadAbortException。 | |
Aborted | 线程状态包括 AbortRequested 并且该线程现在已死,但其状态尚未更改为 Stopped。 |