Thread.IsAlive和Thread.ThreadState == ThreadState.Running

时间:2013-04-26 09:01:17

标签: c# multithreading thread-state

我用来检查if(Thread.IsAlive)线程的状况。表单正在此线程中运行。在执行期间,即使表单保持打开,对Thread.IsAlive的调用似乎也在评估为false。我想与if(Thread.ThreadState==ThreadState.Running)执行相同的检查。这是正确的方法吗?如果没有,可能的工作是什么?

1 个答案:

答案 0 :(得分:15)

msdn Thread.IsAlive属性 如果此线程已启动且未正常终止或中止,则为true;否则为false。否则,错误。

msdn Thread.ThreadState

  • 运行
    该线程已启动,未被阻止,并且没有挂起的ThreadAbortException。
  • StopRequested
  • SuspendRequested
  • 背景
  • 未开始
  • WaitSleepJoin
  • 暂停
  • AbortRequested

我认为现在显然RunningIsAlive

不一样