The values of the Java thread state and the internal VM thread state can be:
- R – Runnable – the thread is able to run when given the chance.
- CW – Condition Wait – the thread is waiting. For example, because:
- The thread has been blocked for I/O
- A wait() method is called to wait on a monitor being notified
- The thread is synchronizing with another thread with a join() call
- S – Suspended – the thread has been suspended by another thread.
- Z – Zombie – the thread has been killed.
- P – Parked – the thread has been parked by the new concurrency API (java.util.concurrent).
- B – Blocked – the thread is waiting to obtain a lock that something else currently owns.