Example: Producer and Consumer using Suspension 10 public class ProducerConsumer { private boolean valueReady = false; private Object value; synchronized void produce(Object o) { while (valueReady) wait(); value = o; valueReady = true; notifyAll(); } synchronized Object consume() { while (!valueReady) wait(); valueReady = false; Object o = value; notifyAll(); return o; } Q: which object's lock and waitset does this code use
{}