- 4
- 0
- 约1.96千字
- 约 8页
- 2023-11-27 发布于陕西
- 举报
实验三: 进程同步与互斥;一、课程设计目的
掌握基本的同步与互斥算法,掌握进程并发执行的原理,及其所引起的同步、互斥问题的方法。
二、课程设计内容
自己编写信号量和wait、signal操作的模拟程序,然后用它们解决不死锁的哲学家问题或者读者-写者问题。
;三、要求及提示
1、解决不死锁的哲学家问题,要求把哲学家们的活动过程用文字或图形可视化形式表示出来。
提示:首先设置一个“PCB”数组或队列,其中一个字段表示“阻塞原因兼阻塞标志”,本实验中,该数组有5个元素表示5个哲学家即可。它们随机提出申请以及进行“思考”“吃”的行为。再设一个“筷子”数组。还需要设置哪些数据结构以及需要哪些字段自己考虑。示例图如下,仅供参考。
;;2、解决读者-写者问题,仅要求解决读者优先的情况。
提示:创建一个控制台进程,此进程包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件的要求进行读写操作。
读者-写者问题的读写操作限制:
1)写-写互斥,即不能有两个写者同时进行写操作。
2)读-写互斥,即不能同时有一个线程在读,而另一个线程在写。
3)读-读允许,即可以有一个或多个读者在读。
读者优先的附加限制:如果一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。但任何写者必须等到没有读者时才能开始写操作。;运行结果显示要求
原创力文档

文档评论(0)