我学习了操作系统类(class),在那里我们学习了常见的并发问题:哲学家进餐问题、生产者-消费者问题、读者和作者问题……
既然它们的主要目的是保护共享变量,那么尝试在 Erlang 中解决这些问题有意义吗?或者也许我只需要更多的 Erlang 培训来找出解决方案?
谢谢
最佳答案
我理解这个问题,但这些问题与锁定和互斥有关。
Erlang 通过 Actors 做事的方式避免了锁定问题。在 Erlang 中创建生产者和消费者以及读者和作者是一件好事,但是就解决互斥问题而言,您将使用消息而不是共享变量。
在 Erlang 中,您“不共享任何内容”。
关于concurrency - 用 Erlang 写传统的并发问题容易吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1024695/