摘要: 试着画了一个状态图,不一定对一个线程至少总是处于 ThreadState 枚举中的一个可能状态,并且可以同时处于多个状态。进入托管环境的非托管线程已处于已启动状态。 线程在启动状态后,许多操作都可使线程更改状态。 下表列出使状态发生更改的操作以及相应的新状态。操作由于 Running 状态的值为 0,因此无法执行位测试来发现此状态。 但可以使用以下测试(以伪代码表示)。if ((state & (Unstarted | Stopped)) == 0) // implies Running在任何给定时间,线程通常处于多个状态中,例如,如果某个线程在 Monitor.Wait 调用被阻止, 阅读全文
posted @ 2013-04-09 11:16 grkin 阅读(1162) 评论(0) 推荐(0) 编辑