This documentation is archived and is not being maintained.

ThreadState Enumeration

Specifies the current execution state of the thread.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

public enum ThreadState

Member nameDescription
InitializedA state that indicates the thread has been initialized, but has not yet started.
ReadyA state that indicates the thread is waiting to use a processor because no processor is free. The thread is prepared to run on the next available processor.
RunningA state that indicates the thread is currently using a processor.
StandbyA state that indicates the thread is about to use a processor. Only one thread can be in this state at a time.
TerminatedA state that indicates the thread has finished executing and has exited.
WaitA state that indicates the thread is not ready to use the processor because it is waiting for a peripheral operation to complete or a resource to become free. When the thread is ready, it will be rescheduled.
TransitionA state that indicates the thread is waiting for a resource, other than the processor, before it can execute. For example, it might be waiting for its execution stack to be paged in from disk.
UnknownThe state of the thread is unknown.

Important noteImportant

There are two thread state enumerations, System.Diagnostics.ThreadState and System.Threading.ThreadState. The thread state enumerations are only of interest in a few debugging scenarios. Your code should never use thread state to synchronize the activities of threads.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.