Thread Life Cycle in Java
A thread goes through states: New (created) → Runnable (start() called, waiting for CPU) → Running (CPU is executing it) → Blocked/Waiting (sleep, join, lock) → Terminated (finished).
You cannot restart a terminated thread. start() only from New. Calling start() twice throws IllegalThreadStateException.
Draw the states in viva. Don’t invent extra states.
Let's take this on the board with one tiny Main class — no extra files. Thread Life Cycle in Java — start() schedules the thread; main also prints — order may vary. Start from main, go line by line, and stop at each print. That output is the proof for Thread Life Cycle.
New --start()--> Runnable
│ CPU
▼
Running
/ \
sleep/join done
│ │
▼ ▼
Waiting TerminatedDraw five states. Say start() only once. Cannot restart a dead thread.