更多精彩请到 http://www.139ya.com
转自: C#中的多线程
线程状态
C#中的多线程
图1: 线程状态关系图
你可以通过ThreadState属性获取线程的执行状态。图1将ThreadState列举为“层”。ThreadState被设计的很恐怖,它以按位计算的方式组合三种状态“层”,每种状态层的成员它们间都是互斥的,下面是所有的三种状态“层”:
* 运行 (running) / 阻止 (blocking) / 终止 (aborting) 状态(图1显示)
* 后台 (background) / 前台 (foreground) 状态 (ThreadState.Background)
* 不建议使用的Suspend 方法(ThreadState.SuspendRequested 和 ThreadState.Suspended)挂起的过程
总的来说,ThreadState是按位组合零或每个状态层的成员!一个简单的ThreadState例子:
Unstarted
Running
WaitSleepJoin
Background, Unstarted
SuspendRequested, Background, WaitSleepJoin
(所枚举的成员有两个从来没被用过,至少是当前CLR实现上:StopRequested 和 Aborted。)
Sunday, January 11, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment