Hi,
In the Product-Consumer with inter-thread communication, In the get
and put method, it is depending on the available variable in order to
do its context switching. I am trying to understand how is the
available variable changes from false to true and how it change from
true to false in order to get the producer/consumer takes place?
Thanks!
public class CubbyHole {
private int contents;
private boolean available = false;
public synchronized int get(int who) {
while (available == false) {
try {
wait();
} catch (InterruptedException e) { }
}
available = false;
System.out.format("Consumer %d got: %d%n", who, contents);
notifyAll();
return contents;
}
public synchronized void put(int who, int value) {
while (available == true) {
try {
wait();
} catch (InterruptedException e) { }
}
contents = value;
available = true;
System.out.format("Producer %d put: %d%n", who, contents);
notifyAll();
}
}
Lawrence Louie
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/javaprogrammingwithpassion?hl=en