Java program for producer consumer - amresh087/newronaRepos GitHub Wiki
class Q { int n;
boolean valset=false;
synchronized void put(int i)
- {
if(valset) { try { wait(); }catch(InterruptedException e){} }//close if n=i;
valset=true;
sop("put "+n);
notify();
}// close put method
synchronized int get() { if(!valset) { try { wait();
}catch(InterruptedException e){}
}//if else{ sop("get "+n);
valset=false;
notify();
}
return n;
}//close get
}//close class
============producer========================
class producer implements Runnable { Q q; producer(Q q) { this.q=q;
Thread t1=new Thread(this);
t1.start();
}
public void run() { int i=0;
while(true) { q.put(++i); }
}//close run
}//close class
====================consumer=========================
class consumer implements Runnable { Q q;
consumer(Q q) { this.q=q;
Thread t1=new Thread(this);
t1.start();
}
public void run() { int i=0;
while(true) { q.get(); }
}//close run
}//close class
============================pcdemo=============================
class pcDemo {
- public static void main(String k[])
{
Q q= new Q();
producer p=new producer(q);
consumer c=new consumer(q);
}
}