kishore mang wrote:In most of the books it was mentioned as Runnable and Running are two different states, so cant be one part of the other.
Runnable and Running are two different states, but Thread.State.RUNNABLE is a single state that includes both Runnable and Running. Look at the documentation for Thread.State. What value could a Runnable thread possibly have, based on their definitions there? Annd what value could a Running thread have? For both, the only possible answer is RUNNABLE.
kishore mang wrote:So can we say now that a thread which is in Runnable is Running?
Not using Thread's getState() method, no, you can't. The getState() method does not know or care about the difference between Runnable and Running.