Solution:
During its execution, a thread can reside in one of the following states:
- NEW: The thread becomes ready to run, but does not necessarily start running immediately.
- RUNNABLE: The Java Virtual Machine (JVM) is actively executing the thread’s code.
- BLOCKED: The thread is in a blocked state while waiting for a monitor lock.
- WAITING: The thread waits for another thread to perform a particular action.
- TIMED_WAITING: The thread waits for another thread to perform a particular action up to a specified waiting time.
- TERMINATED: The thread has finished its execution.