消费者生产者模式,就是在一个系统中,存在消费者生产者两种角色,他们通过缓冲区进行通信,生产者生产消费者所需的资料,消费者把资料制作成产品或使用
下面讲用一个简单的例子模拟生产者消费者模式
创建一个仓库类
import java.util.LinkedList;
public class MyStorage {
LinkedList<Object> list = new LinkedList<>(); //定义集合,作为存储产品的容器
private static final int MAX_CAPACITY = 100;
//向仓库中存储产品
public synchronized void store(String product) {
//如果仓库已满,生产者等待
while (list.size() > MAX_CAPACITY) {
try {
this.wait(); //wait()/notify()这两个需要在同步代码块中,通过锁对象调用
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.prin