Thread.IsAlive and Thread.ThreadState==ThreadState.Running

本文关键字:Thread ThreadState Running and IsAlive | 更新日期: 2023-09-27 18:11:10

我使用if(Thread.IsAlive)来检查线程的状态。一个表单正在这个线程中运行。有时在执行过程中,即使窗体保持打开状态,对Thread的调用。IsAlive似乎正在评估为false。我想对if(Thread.ThreadState==ThreadState.Running)执行相同的检查。这是正确的做法吗?如果不是,有什么可能的解决办法?

Thread.IsAlive and Thread.ThreadState==ThreadState.Running

msdn线程。IsAlive财产如果该线程已经启动并且没有正常终止或中止,则为True;否则,假的。

msdn线程。ThreadState

  • 运行
    线程已经启动,没有阻塞,也没有挂起的ThreadAbortException。
  • StopRequested
  • SuspendRequested
  • 背景
  • 急停
  • WaitSleepJoin
  • AbortRequested

我想现在很清楚RunningIsAlive是不一样的