操作系统实验3进程同步报告(2)

2019-08-29 18:53

六、 运行结果:

缓冲区大小为5,手动输入生产者和消费者的线程数,观察运行结果。

1. 3个生产者线程,1个消费者线程,缓冲区的插入和删除操作都正常。

2.

3个生产者线程,2个消费者线程,缓冲区的插入和删除操作都正常。

3.

3个生产者线程,3个消费者线程,生产者生产出三个元素放入缓冲区,消费者消费掉这三个元素,再想要消费时候发现缓冲区内为空,因此输出错误提示信息。

4.

3个生产者线程,3个消费者线程,最初消费者想要消费,但是缓冲区为空,因此输出错误提示信息。生产者生产出2个元素放入缓冲区,消费者消费掉这2个元素,生产者再生产出1个元素放入缓冲区,消费者消费掉这1个元素,消费者再想要消费时候发现缓冲区内为空,

因此输出错误提示信息。

5.

3个生产者线程,3个消费者线程,最初消费者想要消费,但是缓冲区为空,因此输出错误提示信息。

6.

2个生产者线程,4个消费者线程,最初消费者想要消费,但是缓冲区为空,因此输出错误提示信息。生产者生产出1个元素放入缓冲区,消费者消费掉这1个元素,生产者再生产出2个元素放入缓冲区,消费者消费掉这2个元素,生产者接着生产出1个元素放入缓冲区,消费者消费掉这1个元素,消费者再想要消费时候发现缓冲区内为空,

因此输出错误提示信息。

7.

实验结果分析:

对比每次运行的结果发现都是随机的,并且消费者和生产者线程出现的先后顺序也是随机的。分析原因是由于给每一个消费者和生产者线程都睡眠了一段随机事件。本次测试对于线程数的设计包括两个线程数相等、消费者线程多于生产者以及生产者线程多于消费者,确保每一种情况都能正常运行,正常在缓冲区内进行插入和删除操作,若不满足条件则提示操作失败,报错。

七、 源代码:

1.

buffer.h

2.

pcProblem.c


操作系统实验3进程同步报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ERP系统初学知识

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: