dining-philosopher:餐饮哲学家的解决方案代码,Java中的并发问题-使用线程和锁定

时间:2024-06-07 14:20:21
【文件属性】:

文件名称:dining-philosopher:餐饮哲学家的解决方案代码,Java中的并发问题-使用线程和锁定

文件大小:2KB

文件格式:ZIP

更新时间:2024-06-07 14:20:21

Java

餐饮哲学家 理论 在计算机科学中,进餐哲学家问题是并发算法设计中经常使用的一个示例问题,用于说明同步问题和解决这些问题的技术。 它最初由Edsger Dijkstra于1965年制定。 五名沉默寡言的哲学家坐在一碗意大利面周围的桌子旁。 在每对相邻的哲学家之间放置一个叉子。 (另一种替代问题的表达方式是用米饭和筷子代替意大利面和叉子。) 每个哲学家都必须交替思考和吃东西。 但是,哲学家只有在拥有左右叉的情况下才能吃意大利面。 每个分叉只能由一个哲学家握住,因此,只有当另一个哲学家不使用它时,一个哲学家才可以使用它。 吃完饭后,他需要放下两个叉子,以便其他人都能使用。 哲学家可以在叉子可用时抓住右边的叉子,或者抓住左边的叉子,但是在拿到叉子和叉子之前不能开始进食。 饮食不受意大利面条剩余量的限制:假设有无限量的意大利面。 问题是如何设计行为准则(并发算法),以使每个哲学家都不会挨饿


【文件预览】:
dining-philosopher-master
----Dine.java(2KB)
----README.md(2KB)

网友评论