gpt4 book ai didi

scala - 为什么 Actor 收到的消息是无序的?

转载 作者:行者123 更新时间:2023-12-04 02:46:45 26 4
gpt4 key购买 nike

我一直在研究 actor 模型(特别是 Scala 中的实现),但我不明白为什么要求消息没有按特定顺序到达。

似乎至少有一些优雅的、基于参与者的并发问题解决方案,如果只有消息按顺序到达(例如生产者-消费者变体、延迟数据库写入、并发安全缓存),这些解决方案就会起作用。

那么为什么actor消息没有按顺序到达呢?是为了允许有效的实现还是为了防止在消息排序时出现的某种死锁?

最佳答案

我的印象是,如果两个线程向一个actor发送消息a ,没有特别保证哪个 Actor 会先收到。但是如果你的代码看起来像

a ! "one"
a ! "two"

然后 a总是会得到 "one"之前 "two" (尽管谁知道其他线程之间可能还有什么其他内容)。

因此,我认为消息根本不会按特定顺序到达。来自一个线程内的多条消息(据我从代码或经验来看)将按顺序到达。

关于scala - 为什么 Actor 收到的消息是无序的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com