# 哲学家进餐 **Repository Path**: xujiaming621/dinnerOfPhilosopher ## Basic Information - **Project Name**: 哲学家进餐 - **Description**: 这是学习操作系统时一个关于哲学家进餐问题的程序。 有五个哲学家,他们的生活方式是交替地进行思考和进餐。他们共用一张圆桌,分别坐在五张椅子上。 在圆桌上有五个碗和五把叉子,平时一个哲学家进行思考,饥饿时便试图取用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐。进餐完毕,放下筷子又继续思考。 哲学家进餐问题可看作是并发进程并发执行时处理共享资源的一个有代表性的问题。 本程序模拟了三个进餐方案,包括: 1. 允许最多四名哲学家同时拿叉子; 2.奇数座位哲学家优先拿右叉子,偶数座位哲学家优先拿左叉子; 3.所有哲学家优先拿左叉子(可能死锁)。 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-05-21 - **Last Updated**: 2023-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dinnerOfPhilosopher #### 介绍 这是学习操作系统时一个关于哲学家进餐问题的程序。 有五个哲学家,他们的生活方式是交替地进行思考和进餐。他们共用一张圆桌,分别坐在五张椅子上。 在圆桌上有五个碗和五把叉子,平时一个哲学家进行思考,饥饿时便试图取用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐。进餐完毕,放下筷子又继续思考。 哲学家进餐问题可看作是并发进程并发执行时处理共享资源的一个有代表性的问题。 本程序模拟了三个进餐方案,包括: 1. 允许最多四名哲学家同时拿叉子; 2.奇数座位哲学家优先拿右叉子,偶数座位哲学家优先拿左叉子; 3.所有哲学家优先拿左叉子(可能死锁)。 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)