PROGRAM FOR DEMONSTRATING LIFE CYCLE OF A THREAD
import java.io.*; class A extends Thread { public void run() { for(int i=1;i < = 5;i++) { ...

https://www.computersprofessor.com/2016/06/program-for-demonstrating-life-cycle-of.html
import java.io.*;
class A extends Thread
{
public void run()
{
for(int i=1;i < = 5;i++)
{
if(i==1)
yield();
System.out.println("This is Thread
A:"+i);
}
System.out.println("Exit A");
}
}
class B extends Thread
{
public void run()
{
for(int
i=1;i < = 5;i++)
{
if(i==3)
stop();
System.out.println("This is Thread
B:"+i);
}
System.out.println("Exit B");
}
}
class C extends Thread
{
public void run()
{
for(int i=1;i < = 5;i++)
{
if(i==2)
{
try
{
sleep(1000);
}
catch(Exception e){}
}
System.out.println("Thread C:"+i);
}
System.out.println("Exit C");
}
}
class D extends Thread
{
public void run()
{
for(int
i=1;i < = 5;i++)
{
System.out.println("Thread D:"+i);
}
System.out.println("Exit
D");
}
}
class MainTh
{
public static void
main(String args[])
{
A a=new
A();
B b=new B();
C c=new C();
D d=new D();
a.start();
d.start();
System.out.println("Before
suspended");
d.suspend();
b.start();
d.resume();
System.out.println("After
resume");
System.out.println("Exit
main");
}
}
OUTPUT:
Before suspended
This is Thread A:1
This is Thread A:2
This is Thread A:3
This is Thread A:4
This is Thread A:5
Exit A
After resume
Thread D:1
Exit main
This is Thread B:1
Thread D:2
This is Thread B:2
Thread D:3
Thread D:4
Thread D:5
Exit D