I am using to check the condition of a thread with if(Thread.IsAlive)
. A form is running in this thread. At times during execution, even though the form remains open, the call to Thread.IsAlive seems to be evaluating to false. I thought to perform the same check with if(Thread.ThreadState==ThreadState.Running)
. Is it the right way to do? If not, what is the possible work around?
To check the status of the current thread in C#, use the IsAlive property.
ThreadState. A thread is created within the common language runtime. Unstarted. Another thread calls the Thread. Start method on the new thread, and the call returns.
Use Thread. Join(TimeSpan. Zero) It will not block the caller and returns a value indicating whether the thread has completed its work.
msdn Thread.IsAlive Property true if this thread has been started and has not terminated normally or aborted; otherwise, false.
msdn Thread.ThreadState
I think now it's clear Running
is not the same as IsAlive
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With