医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 资源下载 > Java编程 > 哲学家进餐问题——Java语言实现 哲学家进餐问题是一个多线程运用的经典例子

哲学家进餐问题——Java语言实现 哲学家进餐问题是一个多线程运用的经典例子

  • 资源大小:7 K
  • 上传时间: 2024-05-22
  • 上传用户:一号船长
  • 资源积分:2 下载积分
  • 标      签: Java 多线程 语言

资 源 简 介

哲学家进餐问题——Java语言实现 哲学家进餐问题是一个多线程运用的经典例子,涉及到线程同步/互斥,临界区访问问题以及一个避免死锁的解决方法。 有五个哲学家绕着圆桌坐,每个哲学家面前有一盘面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。 哲学家有2个状态,思考或者拿起筷子吃饭。如果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不会放下筷子直到把饭吃完,此时才把这双筷子放回原处。 如果,很不幸地,每个哲学家拿起他或她左边的筷子,那么就没有人可以吃到饭了。这就会造成死锁了。。这是需要坚决杜绝的,正如操作系统的死锁问题。

相 关 资 源