我正在使用 if(Thread.IsAlive)
检查线程的状况。该线程中正在运行一个表单。有时在执行过程中,即使窗体保持打开状态,对 Thread.IsAlive 的调用似乎评估为 false。我想用 if(Thread.ThreadState==ThreadState.Running)
执行相同的检查。这是正确的做法吗?如果不是,可能的解决方法是什么?
最佳答案
msdn Thread.IsAlive 属性 如果此线程已启动且未正常终止或中止,则为 true;否则为假。
msdn线程.ThreadState
- 运行
线程已经启动,没有阻塞,也没有挂起的ThreadAbortException。 - 已请求停止
- 已请求暂停
- 背景
- 未开始
- 等待 sleep 加入
- 暂停
- 已请求中止
我想现在很清楚 Running
与 IsAlive
不同
关于c# - Thread.IsAlive 和 Thread.ThreadState==ThreadState.Running,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16232521/