餐饮哲学家这个存储库提供了各种实现。这些解决方案是在使用Dartisolates实现的,它是一种用于并发编程的类似actor的工具。以下实现是“标准解决方案”:使用Dijkstra资源排序方法实现了对哲学家会议的模拟。

运行一个包含5位哲学家的会议

$ dart bin/dinner5.dart -n 5

使用Chandy/Misra算法实现了对哲学家会议的模拟。

运行一个包含5位哲学家的会议

$ dart bin/dinner4.dart -n 5

查看正在进餐的哲学家的日志

$ dart bin/dinner4.dart -n 5 | grep \" eati\