Thread States:
Any time, suspending execution of a thread is useful. For instance, separate thread could be used to show the time of day. Its thread can be suspended if the user doesn't need a clock. Whatever the case, suspending a thread is a easy matter. At one suspended, restarting the thread is also a simple matter.
Priorities:
Java assigns to every thread a priority which determines how this thread should be treated along with respect to the others. Thread priorities are integers which specified the associative priority of one thread to another. As an absolute value, a priority is useless; a higher-priority thread does not run any faster than a lower-priority thread if it is the only thread running. Alternative, a thread's priority is used to decide whenever to switch from one running thread to the next. This is known as a context switch. The rules which determine whenever a content switch takes place are simple.