Coding Lab - TechOnTechnology

Java program to implement Producer Consumer Program.




class Q
{
    int n;
    boolean valueset=false;
       synchronized int get()
       {
       if(!valueset)
       try
       {
          wait();
       }
      catch(InterruptedException e){
        System.out.println("Interrupted Exception cought !! ");
        }
        System.out.println("Get:"+n);
        valueset=false;
        notify();
        return n;
    }
    synchronized void put(int n)
    {
       if(valueset)
       try
       {
          wait();
       }
       catch(InterruptedException e){
                  System.out.println("Interrupt");
        }
     this.n=n;
     valueset=true;
    System.out.println("Put:"+n);
    notify();
    }

 }

class Producer implements Runnable
{
    Q q;
    Producer(Q q)
    {
        this.q=q;
        new Thread(this,"Producer").start();
    }
   public void run()
    {
        int i=0;
        while(true)
        {
         q.put(i++);
        }
    }
 }

class Consumer implements Runnable
{
   Q q;
   Consumer(Q q)
   {
        this.q=q;
        new Thread(this,"Consumer").start();
   }
   public void run()
   {
      while(true)
      {
          q.get();
      }
   }
}
class Producerconsumer
 {
    public static void main(String args[])
        {
          Q q=new Q();
        new Producer(q);
        new Consumer(q);
        System.out.println("Press Control plus c to stop");
        }
}

Name

Email *

Message *