This application illustrates the well-known Dining Philosophers problem. This version is deadlock-free, as every philosopher only takes both forks at the same time, thus preventing everyone e having just one fork.
The solution presented here is built around a central PhilosophersManager
object.
The implementation only uses active objects local to
the VM the example is run on, therefore demonstrating how to write a
multithreaded program with ProActive. It features advanced
intra-object synchronization policies.