✍️
有趣的问题
  • 简介
  • 哲学家就餐问题
  • 追及问题——猫能追上老鼠吗?
Powered by GitBook
On this page

Was this helpful?

哲学家就餐问题

Previous简介Next追及问题——猫能追上老鼠吗?

Last updated 4 years ago

Was this helpful?

(英语:Dining philosophers problem)是在中的一个经典问题,用来演示在中(Synchronization)时产生的问题。

在1971年,著名的计算机科学家提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被重新表述为哲学家就餐问题。这个问题可以用来解释和资源耗尽。

拓展阅读 - 死锁的四个条件:

  • 禁止抢占(no preemption):系统资源不能被强制从一个进程中退出。

  • 持有和等待(hold and wait):一个进程可以在等待时持有系统资源。

  • 互斥(mutual exclusion):资源只能同时分配给一个行程,无法多个行程共享。

  • 循环等待(circular waiting):一系列进程互相持有其他进程所需要的资源。

死锁只有在四个条件同时满足时发生,预防死锁必须至少破坏其中一项。

哲学家就餐问题
计算机科学
并发计算
多线程
同步
艾兹格·迪科斯彻
托尼·霍尔
死锁
哲学家就餐问题图解