as per JAVA spec it can be NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING and TERMINATED.
A thread state. A thread can be in one of the following states:
A thread that has not yet started is in this state.
A thread executing in the Java virtual machine is in this state.
A thread that is blocked waiting for a monitor lock is in this state.
A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
A thread that has exited is in this state.
A thread can be in only one state at a given point in time. These states are virtual machine states which do not reflect any operating system thread states.
Ahh ! Thanks, I didn't realize those states were just standard for any JVM. I thought they were specific to BSA. This should be in the documentation, it's very useful to know !