资源简介
生产者消费者问题,描述一组生产者向一组消费者提供产品/消息。它们共享一个有界缓冲区,生产者向其中放产品/消息,消费者从中取产品/消息。只要缓冲区未满,生产者可放产品/消息,只要缓冲区有数据,消费者可取消息。即应满足下列二个同步条件:
1.只有在缓冲池中至少有一个缓冲区已存入消息后,消费者才能从中提取消息,否则消费者必须等待。
2.只有缓冲池中至少有一个缓冲区是空时,生产者才能把消息放入缓冲区,否则生产者必须等待。
设计要求:
要求设定一个缓冲池中有n个缓冲区,每个缓冲区存放一个消息,创建多个生产者,消费者,并在每个生产者消费者创建时、发出放/取产品申请时、正在放/取产品时和放/取产品结束时分别给出提示信息,并显示取/方产品前后的缓冲区状态,以检查所有处理都遵守相应的操作限制。
代码片段和文件信息
package ProduceConsumeProblems;
public class Consumer implements Runnable{
ProducerAndConsumer queue;
public Consumer(ProducerAndConsumer s){
queue=s;
}
public void run(){
for(int i=0;i<20;i++){
queue.outqueue();
try{
Thread.sleep((int)(Math.random()*20));
}catch(InterruptedException e){System.out.println(e);}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 471 2010-01-02 16:21 生产者消费者问题\Consumer.java
文件 501 2010-01-02 16:21 生产者消费者问题\PCTest.java
文件 519 2010-01-02 16:21 生产者消费者问题\Producer.java
文件 1287 2010-01-02 16:21 生产者消费者问题\ProducerAndConsumer.java
目录 0 2010-01-02 16:21 生产者消费者问题
----------- --------- ---------- ----- ----
2778 5
相关资源
- 基于安卓操作系统的应用软件开发论
- 基于ARM的11种嵌入式操作系统大盘点
- 【JAVA版】操作系统课程设计题目四单
- Java模拟操作系统实验之四种进程调度
- 操作系统课程设计题目四单处理器系
- 2017-广东工业大学操作系统课程设计银
- 页面置换算法 操作系统作业 java模拟
- 操作系统,页面置换算法
- 用JAVA 编写的一个模拟操作系统含文件
- JAVA-计算机操作系统 多级反馈队列调
- 操作系统 java模拟
- 操作系统概念Linux虚拟机及源代码
- 操作系统实验一进程调度
- 操作系统课程设计 java编写 文档+代码
- 操作系统课程设计--模拟进程调度管理
- Weka 3.7.9 windows操作系统
- 操作系统课程设计——模拟生产者与
- 纯java编写的操作系统
- 操作系统 进程调度算法实现Android实现
- 基于Java的移动臂磁盘调度算法
- Java模拟银行前后台简单操作系统
- 用三个线程分别计算平均值,最大值
- 天津理工操作系统实验三java带界面
- 东北大学软件学院最新操作系统实验
- 操作系统实验报告作业调度及银行家
- java实现的仿UNIX操作系统课设
- 基于Java的移动臂磁盘调度算法动态显
- java模拟操作系统
- 磁盘调度算法 操作系统作业 java模拟
- (操作系统)睡眠理发师模拟有界面
评论
共有 条评论