11.java

来自「Java版本的操作系中的生产者与消费者的代码~」· Java 代码 · 共 59 行

JAVA
59
字号
/**
 * @(#)11.java
 *
 *
 * @author 
 * @version 1.00 2008/4/29
 */


public class 11 {

    public 11() {
    }
    
    
}public class Consumer extends Sleep implements Runnable {
    private Container contain = null;

    public Consumer(Container contain) {
        super();
        this.contain = contain;
    }

    public void run() {
        // TODO Auto-generated method stub

        while (true) {
            synchronized (contain) {
                while (contain.isEmpty()) {
                    try {
                        contain.wait();
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block

                        e.printStackTrace();
                    }
                }
            }
            consume();//消费

            try {
                haveASleep();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block

                e.printStackTrace();
            }
            synchronized (contain) {
                contain.notify();
            }
        }
    }

    private void consume() {
        Product a = (AProduct) contain.pop();
        System.out.println("消费了一个产品" + a.toString());
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?