进程间通信
一、 实验目的
在本实验中,通过对生产者消费者算法的理解和实现,熟悉同步信号量以及互斥信号量的使用,并加深对进程间通信原理的理解。
二、 实验内容
参考教材中的生产者消费者算法,创建5个进程,其中两个进程为生产者进程,3个进程为消费者进程。要求如下:
1)一个生产者进程试图不断地在一个缓冲中写入大写字母,另一个生产者进程试图不断地在缓冲中写入小写字母。
2)进程间通信实验总结3个消费者不断地从缓冲中读取一个字符并输出,其中一个消费者只消费小写字符,一个消费者只消费大写字母,而另一个消费者则无选择地消费任何产品,消费者要消费的产品没有时,消费者进程被阻塞。注意缓冲的管理。
3)为了使得程序的输出易于看到结果,分别在生产者和消费者进程的合适的位置加入一些随机睡眠时间。
三、 思考题
1. 如何实现共享存储区互斥访问, 如果没有对缓冲区实现互斥访问,会发生什么现象?
2. 当对缓冲区的操作有多把锁时,如何避免死锁情况的发生?
3. 能否用上一次的实验中用到的记录锁实现对单一资源互斥访问?如果能,请给出具体实现。
4. 能否采用信号机制实现进程间的同步与互斥?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论