Name
ThreadState
Synopsis
This enumeration encapsulates the various states a thread may be in. A thread
starts in the Unstarted
state. Once the Thread.Start()
method is
called, a thread enters the Running
state.
If another thread calls Thread.Abort()
at any time, the thread
shifts into the AbortRequested
state, and then into Aborted
once
the thread reaches a safe point for garbage collection.
If the running thread calls either the shared method Thread.Sleep()
, any
of the Wait()
methods
on a WaitHandle
,
or Thread.Join()
on another
thread, the executing thread enters the WaitSleepJoin
state.
If another thread calls Thread.Interrupt()
on a thread
in the WaitSleepJoin
state, the thread again
enters the Running
state. When another thread
calls Thread.Suspend()
on a thread, it enters
the SuspendRequested
state. Once a thread
in the SuspendRequested
state reaches a safe
point for garbage collection, it enters the Suspended
state. A thread then leaves the Suspended
state and
enters the running state when another thread calls Thread.Resume()
on it. When a thread has finished running, it enters
the Stopped
state.
Once a thread has started, it cannot return to
the Unstarted
state. Similarly, once a thread has aborted or stopped, it
cannot return to the Running
state.
This enumeration is marked with a <Flags()>
attribute, which allows a thread to be in more than one state at a time. For example, if a
thread is in the WaitSleepJoin
and another thread calls Thread.Abort()
on it, it will be ...
Get VB.NET Core Classes in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.