Training Institute in Electronic City Bangalore

Training Institute in Electronic City Bangalore
Training Institute in Electronic City Bangalore

Print odd and even number in sequence with using two threads in java?


 public class EvenOddThreadExample {
       public static void main(String[] args) {
              SharedPrinter sp = new SharedPrinter();        
              Thread t1 = new Thread(new OddNumProducer(sp, 10));
              Thread t2 = new Thread(new EvenNumProducer(sp,10));
              t1.start();
              t2.start();         
       }
 }

 class SharedPrinter {
       boolean evenFlag = false;
      
       public void printOddNumber(int number) {
              synchronized(this) {
                     while (evenFlag) {
                           try {
                                  wait();
                           } catch (InterruptedException e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                           }
                     }
                    
                     System.out.println("Odd Number : " + number);
                     evenFlag = true;
                     notify();
              }
      
       }
      
       public void printEvenNumber(int number) {
              synchronized(this) {
                     while (!evenFlag) {
                           try {
                                  wait();
                           } catch (InterruptedException e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                           }
                     }
                    
                     System.out.println("Even Number : " + number);
                     evenFlag = false;
                     notify();
              }            
       }
 }

 class OddNumProducer implements Runnable {    
       SharedPrinter sp;
       int number;

      
       public OddNumProducer(SharedPrinter s, int num) {
              this.sp = s;
              this.number = num;
       }
      
       @Override
       public void run () {      
              for (int i=1; i <= number; i = i+2) {
                     sp.printOddNumber(i);
              }
       }
 }

 class EvenNumProducer implements Runnable {
       SharedPrinter sp;
       int number;  
       public EvenNumProducer(SharedPrinter s, int num) {
              this.sp = s;
              this.number = num;
       }
      
       @Override
       public void run() {
              for (int i = 2; i <= number; i=i+2) {
                     sp.printEvenNumber(i);
              }
       }
 }




[Multithreading Interview Questions]

We recommend you take Big Data Hadoop class room training at eMexo Technologies in electronic city, Bangalore to learn more about Big Data Hadoop.

0 Comments:

© Blogger Templates | Webtalks