2012年1月1日星期日

第11天第4节: 生产者-消费者

public class Phone {
    String name = "Iphone";
    boolean empty = true;

    public synchronized void produce(String name) {
        if (!empty) {
            try {
                super.wait(); // already have, wait
            } catch (Exception e) {
            }
        }

        this.name = name; // producing phone
        empty = false;

        super.notify();
    }

    public synchronized String comsume() {
        if (empty) {
            try {
                super.wait(); // have to wait
            } catch (Exception e) {
            }
        }

        empty = false;

        super.notify();
        return this.name;
    }
}

class producer{....}
class comsummer{....}
class tester{...}

没有评论: