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);
}
}