4.5.1 Threads of Control
Each concurrently operating task in the Java virtual machine is a thread. Threads exist in various states, the important ones being RUNNING, RUNNABLE, or BLOCKED.
- A RUNNING thread is a currently executing thread.
- A RUNNABLE thread can be run once the current thread has relinquished control of the CPU. There can be many threads in the RUNNABLE state, but only one can be in the RUNNING state. Running a thread means changing the state of a thread from RUNNABLE to RUNNING, and causing the thread to have control of the Java Virtual Machine (VM).
- A BLOCKED thread is a thread that is waiting on the availability of some event or resource.
Note:
The Java VM schedules threads of the same priority to run in a round-robin mode.