Understanding the life cycle of a thread is valuable when programming with threads. Threads can exist in different states. Just because a thread's start() method has been called, it does not mean that the thread has access to the CPU and can start executing straight away. Several factors determine how it will proceed.
Figure 9.3 shows the states and the transitions in the life cycle of a thread.
A thread starts life in the Ready-to-run state (see p. 369).
If a thread is in the Running state, it means that the thread is currently executing (see p. 369).
Once in this state, the thread cannot ever run again (see p. 380).
A running thread can transit to ...