Java MCQ: Which of the following best describes the lifecycle of a Java thread?
a) New, Runnable, Running, Blocked, Dead
b) New, Ready, Executing, Blocked, Terminated
c) New, Runnable, Blocked, Waiting, Terminated
d) New, Runnable, Running, Waiting, Terminated
Answer:
d) New, Runnable, Running, Waiting, Terminated
Explanation:
The lifecycle of a Java thread consists of the following states:
- New: A thread is in the “New” state when it is created but has not yet started execution. In this state, the thread is simply an object in the program.
- Runnable: After calling the
start()
method, the thread moves to the “Runnable” state. In this state, the thread is ready to run and is waiting for the CPU to allocate time for it. - Running: The thread enters the “Running” state when the CPU allocates time for it to execute. In this state, the thread is actively running the code defined in its
run()
method. - Waiting: A thread enters the “Waiting” state when it is waiting for some condition or another thread to complete before it can continue. This can happen due to methods like
wait()
,join()
, orsleep()
. - Terminated: A thread enters the “Terminated” state once it has completed execution, either by finishing its
run()
method or by being terminated by another thread. In this state, the thread is no longer runnable and cannot be restarted.
These states represent the key stages in the lifecycle of a Java thread, from creation to termination, and understanding them is crucial for effective multithreading programming in Java.
Reference links:
https://www.rameshfadatare.com/learn-java-programming/
https://www.javaguides.net/p/java-tutorial-learn-java-programming.html