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

Другие вопросы по тегам