“生产者”等待“消费者”取出缓冲区数据 创建“消费者”线程 缓冲区 是否阻塞 输入数据 缓冲区是否为空 “消费者”阻塞 “生产者”生产产品后被唤醒
“消费者”阻塞生产者”生产产品后被唤醒 货架(缓冲区)是否满? 创建“生产者”进程 转就绪 时间片用尽 是否完成 创建“消费者”进程 进入就绪队列 END 输入数据 BEGIN 货架(缓冲区)是否空?