生产者消费者模型 管程法
主线程{
创建一个缓冲区对象
生产者调用这个对象开始线程
消费调用这个对象开始线程
类 生产者继承Thread{
定义一个缓冲区对象
构建与类同名方法
重写run{一只一只生产鸡}
}
消费者继承Thread{
定义一个缓冲区对象
构建与类同名方法
重写run{一只一只消费鸡}
}
类 缓冲区{
创建对象 鸡编号
定义容器计数器
构建方法 生产者生产产品{
容器满了,生产等待(就会执行通知消费者消费)
容器没满,产品放入,容器计数,通知消费者消费
}
构建方法 消费者消费产品{
计数器空的,生产等待(就会执行通知生产者生产)
计数器有数,产品减少,开始消费,通知生产者生产,返回鸡的编号
}
}
package Multithreading;
//生产者-消费者模型 管程法
public class TestPC {
public static void main(String[] args) {
Buffer buffer = new Buffer();
new Productor(buffer).start();
new Buyer(buffer).start();
}
}
class Productor extends Thread{
//定义生产者
Buffer container;
public Productor(Buffer container){
this.container=container;
}
//生产方法