Java mein thread apni poori life mein kuch alag alag states mein se guzarta hai. Har state ka apna matlab hota hai aur ye batata hai ki thread abhi kya kar raha hai.
Thread apni life me different states se guzarta hai. Kuch example transitions hain:
class MyThread extends Thread {
public MyThread(String name) {
super(name);
System.out.println("State: New (" + getName() + ")");
}
public void run() {
System.out.println("State: Running (" + getName() + ")");
try {
Thread.sleep(1000);
System.out.println(getName() + " is working...");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("State: Terminated (" + getName() + ")");
}
public void startThread() {
System.out.println("State: Runnable (" + getName() + ")");
start();
}
}
public class ThreadLifeCycleDemo {
public static void main(String[] args) {
MyThread t1 = new MyThread("Thread-1");
MyThread t2 = new MyThread("Thread-2");
t1.startThread();
t2.startThread();
}
}
Output me thread ki har state print hoti hai jisse thread life cycle samajhna easy hota hai.