We present an alternative solution to the Dining Philosophers problem that is based on Peterson's mutual exclusion algorithm for N processes, with the benefit of not using any ingredients beyond atomic read and write operations. We proceed in two steps towards a comprehensible, symmetric, and starvation-free algorithm that does neither rely on atomic test-and-set instructions nor on synchronization constructs such as monitors, signals, semaphores, locks, etc.
展开▼