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 Note:

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.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

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