【发布时间】:2011-04-22 03:26:42
【问题描述】:
我一直在研究 Actor 模型(特别是 Scala 中的实现),但我不明白为什么要求消息以无特定顺序到达。
似乎至少有一些优雅的、基于参与者的并发问题解决方案,只要消息按顺序到达(例如生产者-消费者变体、延迟数据库写入、并发安全缓存),这些解决方案就可以工作。
那么为什么actor消息不按顺序到达呢?是为了允许有效的实施,还是为了防止在订购消息时出现某种死锁?
【问题讨论】:
-
erlang 的 BEAM 提供的保证非常重要,我在 Oreilly 书 (p 196) 的勘误表中提到了这一点,但没有做任何进一步的调查oreilly.com/catalog/errata.csp?isbn=9780596155964
标签: scala concurrency actor