Multi-threading in java


import java.util.*;

public class Multithreading {
public static int i=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r= new Random();
i=r.nextInt(100);
//I took limit of i upto 100
T1 t1 = new T1();
T2 t2 = new T2();
T3 t3 = new T3();
t1.start();
t2.start();
t3.start();
}

}
class T1 extends Thread{
public void run(){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Multithreading.i);
//prints random number at 1 second
}
}
class T2 extends Thread{
public void run(){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Multithreading.i*Multithreading.i);
//prints square of random number at 2 second
}
}
class T3 extends Thread{
public void run(){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(Multithreading.i%2==0)
System.out.println("EVEN #");
else
System.out.println("ODD #");
//prints random number is odd or even at 3 second
}
}

Comments