First Thread is in new state. Thread comes in new state , When we create an object of class Thread then,
But in new state thread is not active it is passive and CPU cycle is not assigned and in this state thread come only once.
When we call start method on thread class object then it comes in runnable state.
t.start() in this state thread is ready to run but not started . if we have 40 threads then at a time these thread can come in Runnable state at that time JVM mangae 1 pool called Runnable pool and then its come in running state when it comes in running state when mapping inside OS sheduling is match to JVM scheduler and scheduler schedule then thread come in running state and at that time thread is in active state and CPU cycle is assign.and each thread to run in memory need CPU cycle .if threads get CPU cycle then thread run otherwise not . at a time only 1 thread active .when threads complete is task then thread is dead or if we stop the thread then Thread dead.and when we suspend thread in thread comes into suspended state and when we resume thread then it again goes to the Runnable state and so on.