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 javaprogrammingwithpassion@googlegroups.com To unsubscribe from this group, send email to javaprogrammingwithpassion+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en