Thread.IsAlive and Thread.ThreadState==ThreadState.Running
msdn Thread.IsAlive Propertytrue if this thread has been started and has not terminated normally or aborted; otherwise, false.
msdn Thread.ThreadState
- Running
The thread has been started, it is not blocked, and there is no pending ThreadAbortException. - StopRequested
- SuspendRequested
- Background
- Unstarted
- WaitSleepJoin
- Suspended
- AbortRequested
I think now it's clear Running
is not the same as IsAlive