When a
thread is in the runnable or in the run state then the thread is in alive state and there is a thread of execution, that is, a call stack for that thread in the JVM stack. Generally, the alive state of the thread means that either the thread can be chosen by the scheduler any time or the thread is being run.
Now my question is that, what does happen when the thread is in either blocked or waiting or sleeping state?
When the thread stays one of these three states then the thread has been gone to such a state that it can to be alive again but currently it is not alive. If it is true, then what does happen of the thread of execution or call stack of that thread? The thread of execution or call stack has been suspended or totally removed from the JVM stack.