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++)        {              ...

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


Related

Arithametic Expressions

An  arithmetic  expression  is  a  combination  of  variables, constants  and  operators  arranged  as  per  the syntax  of ...

Differences between Multi Threading and Multi Tasking.

Differences between multi threading and multi tasking. Multi threading Multi tasking. ® A program is divided in to 2 or more sub programs or thre...

What is Type casting in Java?

Some   times there  are  a  need to store a  value  of  one type  in to variable of  another  type.In such situations  we  must ...

Post a Comment

emo-but-icon
:noprob:
:smile:
:shy:
:trope:
:sneered:
:happy:
:escort:
:rapt:
:love:
:heart:
:angry:
:hate:
:sad:
:sigh:
:disappointed:
:cry:
:fear:
:surprise:
:unbelieve:
:shit:
:like:
:dislike:
:clap:
:cuff:
:fist:
:ok:
:file:
:link:
:place:
:contact:

item