One thread can pause without stopping other parts of your program. For example, the idle time created when a thread reads data from a network or waits for user input can be utilized elsewhere. Multithreading allows animation loops to sleep for a second between each frame without causing the whole system to pause. When a thread blocks in a Java program, only the single thread that is blocked is the one that pauses. All other threads continue to run.
Threads exist in several states.
A thread can be running. It can be ready to run as soon as it gets CPU time. A running thread can be suspended, which temporarily suspends its activity. A suspe nded thread can then be resumed, allowing it to pick up where it left off. A thread can be blocked when waiting for a resource.