哪个公司网站建设好,小程序开发平台怎么选择,金点子,最新新闻热点事件英语管程法
生产者把生产好的数据放入缓冲区#xff0c;消费者从缓冲区拿出数据
package jingcheng.test.gaoji;
//测试生产者消费者模型--利用缓冲区解决#xff1a;管程法
//生产者#xff0c;消费者#xff0c;产品#xff0c;缓冲区
public class TestPc {public st…管程法
生产者把生产好的数据放入缓冲区消费者从缓冲区拿出数据
package jingcheng.test.gaoji;
//测试生产者消费者模型--利用缓冲区解决管程法
//生产者消费者产品缓冲区
public class TestPc {public static void main(String[] args) {SynContainer container new SynContainer();new Productor(container).start();new Consumer(container).start();}
}
//生产者
class Productor extends Thread{SynContainer container;public Productor(SynContainer container){this.container container;}//生产Overridepublic void run() {for (int i 0; i 100; i) {System.out.println(生产了i只鸡);container.push(new Chicken(i));}}
}
//消费者
class Consumer extends Thread{SynContainer container;public Consumer(SynContainer container){this.containercontainer;}//消费Overridepublic void run() {for (int i 0; i 100; i) {System.out.println(消费了--container.pop().id只鸡);}}
}
//产品
class Chicken{int id;//产品编号public Chicken(int id) {this.id id;}
}
//缓冲区
class SynContainer{//需要一个容器大小Chicken[] chickens new Chicken[10];//容器计数器int count 0;//生产者放入产品public synchronized void push(Chicken chicken){//如果容器满了就要等待消费者消费if(count chickens.length){try {this.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}//通知消费者消费生产者等待}//如果没满就要丢入产品chickens[count]chicken;count;//可以通知消费者消费了this.notifyAll();}//消费者消费产品public synchronized Chicken pop(){//判断能否消费if(count 0){try {this.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}//等待生产者生产消费者等待}//如果可以消费count--;Chicken chicken chickens[count];//吃完了通知生产者生产this.notifyAll();return chicken;}}生产了0只鸡 生产了1只鸡 生产了2只鸡 生产了3只鸡 生产了4只鸡 生产了5只鸡 生产了6只鸡 生产了7只鸡 生产了8只鸡 生产了9只鸡 生产了10只鸡 生产了11只鸡 消费了–9只鸡 消费了–10只鸡 消费了–8只鸡 消费了–7只鸡 消费了–6只鸡 消费了–5只鸡 消费了–4只鸡 消费了–3只鸡 消费了–2只鸡 生产了12只鸡 生产了13只鸡 生产了14只鸡 生产了15只鸡 生产了16只鸡 生产了17只鸡 生产了18只鸡 生产了19只鸡 生产了20只鸡 消费了–15只鸡 消费了–19只鸡 消费了–18只鸡 消费了–17只鸡 消费了–16只鸡 消费了–14只鸡 消费了–13只鸡 消费了–20只鸡 消费了–12只鸡 消费了–11只鸡 消费了–1只鸡 消费了–0只鸡 生产了21只鸡 生产了22只鸡 生产了23只鸡 生产了24只鸡 生产了25只鸡 生产了26只鸡 生产了27只鸡 生产了28只鸡 生产了29只鸡 生产了30只鸡 生产了31只鸡 消费了–30只鸡 消费了–29只鸡 消费了–28只鸡 消费了–27只鸡 消费了–26只鸡 消费了–31只鸡 消费了–25只鸡 消费了–24只鸡 消费了–23只鸡 消费了–22只鸡 消费了–21只鸡 生产了32只鸡 生产了33只鸡 生产了34只鸡 生产了35只鸡 生产了36只鸡 生产了37只鸡 生产了38只鸡 生产了39只鸡 生产了40只鸡 生产了41只鸡 生产了42只鸡 消费了–41只鸡 消费了–40只鸡 消费了–39只鸡 生产了43只鸡 生产了44只鸡 生产了45只鸡 生产了46只鸡 消费了–42只鸡 消费了–45只鸡 消费了–44只鸡 消费了–43只鸡 消费了–38只鸡 消费了–37只鸡 消费了–46只鸡 消费了–36只鸡 消费了–35只鸡 消费了–34只鸡 消费了–33只鸡 消费了–32只鸡 生产了47只鸡 生产了48只鸡 生产了49只鸡 生产了50只鸡 生产了51只鸡 生产了52只鸡 生产了53只鸡 生产了54只鸡 生产了55只鸡 生产了56只鸡 生产了57只鸡 消费了–56只鸡 消费了–55只鸡 消费了–54只鸡 消费了–57只鸡 消费了–53只鸡 消费了–52只鸡 消费了–51只鸡 消费了–50只鸡 消费了–49只鸡 消费了–48只鸡 消费了–47只鸡 生产了58只鸡 生产了59只鸡 生产了60只鸡 生产了61只鸡 生产了62只鸡 生产了63只鸡 生产了64只鸡 生产了65只鸡 生产了66只鸡 生产了67只鸡 生产了68只鸡 生产了69只鸡 消费了–67只鸡 消费了–68只鸡 消费了–66只鸡 消费了–65只鸡 消费了–64只鸡 消费了–63只鸡 生产了70只鸡 生产了71只鸡 生产了72只鸡 生产了73只鸡 生产了74只鸡 生产了75只鸡 消费了–69只鸡 消费了–74只鸡 消费了–75只鸡 消费了–73只鸡 消费了–72只鸡 消费了–71只鸡 消费了–70只鸡 消费了–62只鸡 消费了–61只鸡 消费了–60只鸡 消费了–59只鸡 消费了–58只鸡 生产了76只鸡 生产了77只鸡 生产了78只鸡 生产了79只鸡 生产了80只鸡 生产了81只鸡 生产了82只鸡 生产了83只鸡 生产了84只鸡 生产了85只鸡 生产了86只鸡 消费了–85只鸡 消费了–84只鸡 消费了–83只鸡 消费了–82只鸡 消费了–81只鸡 消费了–80只鸡 消费了–79只鸡 消费了–78只鸡 消费了–77只鸡 消费了–76只鸡 生产了87只鸡 生产了88只鸡 生产了89只鸡 生产了90只鸡 生产了91只鸡 生产了92只鸡 生产了93只鸡 生产了94只鸡 生产了95只鸡 生产了96只鸡 生产了97只鸡 消费了–92只鸡 消费了–96只鸡 消费了–95只鸡 消费了–94只鸡 消费了–93只鸡 消费了–91只鸡 消费了–90只鸡 消费了–97只鸡 消费了–89只鸡 消费了–88只鸡 消费了–87只鸡 消费了–86只鸡 生产了98只鸡 生产了99只鸡 消费了–99只鸡 消费了–98只鸡