实 验 报 告
第
页
专业_______软件工程_____ 班级_________ 学号_____ 姓名
实验日期: 年 月 日 报告退发 (订正 、 重做)
课程 实验名称 生产者与消费者问题、读者—
写者问题
一、实验目的
1. 实现生产者消费者问题模拟
2. 进一步掌握P,V如何解决同步和互斥问题
二、实验环境
1. Windows或Linux平台
2. Eclipse、Visual Studio 2005或GCC
三、实验内容、步骤和结果分析
实验内容:
实现生产者消费者问题模拟,显示每次添加和读取数据时
缓冲区的状态,
生产者和消费者可用线程模拟。
1.一个大小为10的缓冲区,初始为空。
2. 五个生产者:若缓冲区可以加入数据,则示意进入生产
过程(打印出生产者ID),往缓冲区添加数据,随机等待一段
时间。若缓冲区已满,等待消费者取走数据后再添加。
3. 五个消费者:若缓冲区可以读取数据,则示意进入消
费过程(打印出消费者ID),从缓冲区读取数据,随机等待一
段时间;若缓冲区为空,等待生产者添加数据后再读取。
四、讨论
(说明实验过程中遇到的问题及解决办法;未解决/需进一步
研讨的问题或建议新实验方法等)
(请利用实验二中所给的各个版本信号量类来完成实验三。若