文件名称:DiningPhilosophers:餐饮哲学家问题的解决方案
文件大小:5KB
文件格式:ZIP
更新时间:2024-07-11 08:03:33
Java
#餐饮哲学家问题 ###抽象的 该项目的目标是实施著名的餐饮哲学家问题,最初由 Edsger Dijkstra 提出。 这种并发算法设计说明了同步问题和解决这些问题的技术。 问题说明几个哲学家坐在一张圆桌旁,每边各有一个叉子。 每个哲学家都会周期性地停止思考并决定进食。 为了吃饭,他们必须拿起两把叉子。 哲学家必须拿起叉子或等待叉子可用。 在任何时候,两个哲学家都不能拿着同一个叉子。 当哲学家吃完饭后,他或她必须放下叉子。 因此,挑战在于确保哲学家可以不断地在吃饭和思考之间交替,而不必让哲学家无限期地等待拿起叉子。 换句话说,哲学家绝不能陷入僵局。 ###建筑学 这个问题是通过使用编号系统以及 Java 的同步功能解决的。 解决方案由三类组成; 一个 Fork 类代表单个 fork,一个 Philosopher 类代表一个哲学家,以及一个 Main 类,负责初始化应用程序。 Fork 有
【文件预览】:
DiningPhilosophers-master
----.gitignore(28B)
----README.md(5KB)
----src()
--------Philosopher.java(2KB)
--------Fork.java(492B)
--------Main.java(2KB)
----DiningPhilosophers.iml(423B)