在linux下实现的,用信号量解决哲学家进餐问题,代码在文档的最后
2019-12-21 20:18:16 730KB 信号量 哲学家进餐
1
哲学家进餐问题的c++模拟实现,避免死锁的方法是奇数号哲学家先拿右边的筷子,偶数号先那左边的筷子,有详尽的注释。
2019-12-21 20:06:25 3KB 操作系统
1
1)为每个哲学家产生一个线程,设计正确的同步算法 2)每个哲学家取得一双筷子开始用餐后,即时显示“Dining…”和该哲学家的自定义标识符以及餐桌上所有几位哲学家标识符及其所坐的位置。 3)设定共有5个哲学家需用餐。每位用餐耗时10秒钟以上。 4)多个哲学家须共享操作函数代码
2019-12-21 19:59:48 297KB 操作系统 哲学家 就餐问题
1
问题: 哲学家就餐问题可以这样表述,假设有六位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只筷子。因为用一只筷子很难吃到意大利面,所以假设哲学家必须用两只筷子吃东西。他们只能使用自己左右手边的那两只筷子。 解决方式: 采用互斥量来解决该问题,每互斥量代表一只筷子。哲学家必须等待身边两只筷子同时可以使用的时候才可以进餐,当使用一会之后,需要自动释放该互斥量(筷子),其他哲学家就可以进行抢占使用。
2019-12-21 19:59:47 37KB .net c# 多线程 互斥体
1
vc++实现哲学家吃面问题 演示死锁与永不死锁状态 代码比较简单 便于理解
2019-12-21 19:59:27 898KB 操作系统 多线程
1
有五个哲学家围坐在一圆桌旁,桌中央有一盘通心粉,每人面前有一只空盘子,每两人之间放一只筷子每个哲学家的行为是思考,感到饥饿,然后吃通心粉.为了吃通心粉,每个哲学家必须拿到两只筷子,并且每个人只能直接从自己的左边或右边去取筷子。 有一个公用的数据集,有很多人需要访问,其中一些需要阅读其中的信息,一些需要修改其中的消息。阅读者可以同时访问数据集,而写入者只能互斥的访问数据集,不能与任何的进程一起访问数据区。
2019-12-21 19:55:24 19KB 操作系统 实验 报告
1
哲学家吃饭问题(vc代码) 哲学家吃饭问题(vc代码) 哲学家吃饭问题(vc代码) 哲学家吃饭问题(vc代码) 哲学家吃饭问题(vc代码)
2019-12-21 19:51:37 6KB 哲学家吃饭问题(vc代码)
1
此为本人的操作系统课程设计--哲学家就餐,DOS界面,十分简洁但却能够实现哲学家就餐的问题,强烈推荐大家下载参考!转载请注明出处,谢谢!!
2019-12-21 19:49:38 426KB 哲学家就餐 操作系统 课程设计
1
设有五个哲学家,共用一张放有五把椅子的餐桌,每人坐在一把椅子上,桌子上有五个碗和五只筷子,每人两边各放一只筷子。哲学家们是交替思考和进餐,饥饿时便试图取其左右最靠近他的筷子。条件: (1) 只有拿到两只筷子时,哲学家才能吃饭。 (2) 如果筷子已被别人拿走,则必须等别人吃完之后才能拿到筷子。 (3) 任意一个哲学家在自己未拿到两只筷子吃饭前,不会放下手中拿到的筷子。
2019-12-21 19:41:08 47KB 课程设计 哲学家 问题
1
计算机操作系统中的哲学家就餐问题,用C#把整个过程可视化出来。
2019-12-21 19:39:59 2.59MB C#
1