[源码和文档分享]基于VC6.0和MFC实现的操作系统哲学家进餐问题
作者:互联网
[源码和文档分享]基于VC6.0和MFC实现的操作系统哲学家进餐问题
一 需求分析
一个圆桌上有一大碗面,5个盘子,5把筷子,5个座位上可以座5个哲学家,当哲学家就坐以后,其左右有且仅有一个筷子,每个筷子左又有且仅有一个哲学家。哲学家动作:思考,取筷(需要两个),取面,吃面。现设计一个礼仪以允许他们就餐,需要避免两个哲学家“抢”同一把筷子,又要避免饥饿和死锁。
通过设计,编写,调试一个简单的进程调度模拟系统,对进程调度,进程运行状态变换及wait原语和signal原语加深理解和掌握。
二 程序设计
程序流程图如下所示:
三 程序实现
3.1 实现原理
-
互斥解决。每一把筷子使用一个2元信号量,只有获得信号量的哲学家才能使用筷子,从而避免对筷子的“抢夺”
参考文档和完整的文档和源码下载地址:
https://www.write-bug.com/article/1346.html
posted @ 2018-12-08 09:48 ggdd5151 阅读(...) 评论(...) 编辑 收藏标签:MFC,哲学家,VC6.0,原语,源码,文档,筷子 来源: https://blog.csdn.net/qq_38452387/article/details/86177484