EMC Interview Question
Software Engineer in TestsTeam: RSA
Country: India
Interview Type: Written Test
The different states of threads are as follows:
1) New – When a thread is instantiated it is in New state until the start() method is called on the thread instance. In this state the thread is not considered to be alive.
2) Runnable – The thread enters into this state after the start method is called in the thread instance. The thread may enter into the Runnable state from Running state. In this state the thread is considered to be alive.
3) Running – When the thread scheduler picks up the thread from the Runnable thread’s pool, the thread starts running and the thread is said to be in Running state.
4) Waiting/Blocked/Sleeping – In these states the thread is said to be alive but not runnable. The thread switches to this state because of reasons like wait method called or sleep method has been called on the running thread or thread might be waiting for some i/o resource so blocked. 5) Dead – When the thread finishes its execution i.e. the run() method execution completes, it is said to be in dead state. A dead state can not be started again. If a start() method is invoked on a dead thread a runtime exception will occur
public class LifeCycle implements Runnable {
- Achilles June 03, 2012int state = 0;
public void run() {
while (true)
if (state = 0) {
System.out.println("Running from Ready");
state = 1;
}
else
System.out.println("Running from Waiting");
}
public static void main(String[] args) {
LifeCycle c = new LifeCycle();
Thread t = new Thread(c);
t.run();
}
}