When a thread is created, it will be in an Unstarted state until the Start method is invoked. A thread is always in at least one state and sometimes it may be in multiple states at the same time. In the following diagram, each oval represents a state. The text on each line represents the action that is performed:
A thread can be in two different states at the same time. For example, if a thread is in a waiting state and another thread aborts, it can be in both the Wait/Join Sleep and Abort Requested states. When the thread returns to the wait call, it will receive a ThreadAbortException.