vb.net多线程:VB.NET中多线程程序开发的线程状态来源: 发布时间:星期四, 2009年1月15日 浏览:105次 评论:0
要想了解线程控制首先需要知道线程状态 在 Thread 类中提供了个名为 ThreadState 例子属性这个属性是枚举类型它成员如下表:
成员 介绍说明 Unstarted 线程上 Thread.Start 还未被 Running 已 Thread.Start且线程未被阻塞也没有 ThreadAbortException 处于挂起状态 Aborted Stopped 状态 AbortRequested 已 Thread.Abort但还未收到处于挂起状态ThreadAbortException Stopped 线程已经停止 Suspended 线程已经被挂起 SuspendRequested 线程已被要求挂起 WaitJoinSleep 线程被阻塞阻塞原因可能是 Wait、Sleep 或Join 下面来对上述成员作简单解释: 1、 Unstarted:所有托管线程状态处于这个状态线程仅占用内存不占用 CPU 资源因此理论上可创建无数个这种状态线程 2、 Running:当前线程已经由其它线程在其上执行 Thread.Start前面已经提到这样状态线程在 Windows 中最大数目为 2000 个 3、 Suspended:已启动但不处于活动状态 4、 WaitJoinSleep:线程这种状态介绍说明已被阻塞原因有 3种: a. 线程等待个或多个对象(Wait)主要用于同步构造; b. 线程在特定时间段内处于休眠状态(Sleep); c. 线程在等待另个线程结束(Join) 需要要介绍说明是个线程不能使另个线程进入此状态线程只能在自己要求下进入此状态 5、 Stopped:已正常结束线程死亡不能再被启动 6、 Aborted:同 Stopped 状态样不过它是由于非正常结束而产生种状态 0
相关文章读者评论发表评论 |