我正在使用 if(Thread.IsAlive)
来检查线程的状态。在这个线程中有一个窗体运行。执行过程中,有时即使窗体仍然打开,调用Thread.IsAlive似乎会评估为false。我考虑使用相同的检查方式 if(Thread.ThreadState==ThreadState.Running)
,这样做正确吗?如果不是,有什么可能的解决方法?
我正在使用 if(Thread.IsAlive)
来检查线程的状态。在这个线程中有一个窗体运行。执行过程中,有时即使窗体仍然打开,调用Thread.IsAlive似乎会评估为false。我考虑使用相同的检查方式 if(Thread.ThreadState==ThreadState.Running)
,这样做正确吗?如果不是,有什么可能的解决方法?
MSDN Thread.IsAlive 属性
如果该线程已启动并且没有正常或非正常终止,则为 true;否则为 false。
MSDN Thread.ThreadState
我认为现在很清楚了,Running
不同于 IsAlive
。