Thread.IsAlive и Thread.ThreadState==ThreadState.Running
Я использую, чтобы проверить состояние потока с if(Thread.IsAlive)
, Форма работает в этой теме. Иногда во время выполнения, даже если форма остается открытой, вызов Thread.IsAlive, по-видимому, оценивается как false. Я думал, чтобы выполнить ту же проверку с if(Thread.ThreadState==ThreadState.Running)
, Это правильный способ сделать? Если нет, то каков возможный обходной путь?
1 ответ
msdn Thread.IsAlive Свойство true, если этот поток был запущен и не завершился нормально или не был прерван; иначе ложно.
msdn Thread.ThreadState
- Бег
Поток был запущен, он не заблокирован и нет ожидающего исключения ThreadAbortException. - StopRequested
- SuspendRequested
- Фон
- Не начато
- WaitSleepJoin
- подвешенный
- AbortRequested
Думаю теперь понятно Running
это не то же самое, что IsAlive