【发布时间】:2010-12-04 18:52:51
【问题描述】:
假设我有一个只有一个字段的演员。每 100 条发送给参与者的消息中有 99 条读取了该值,第 100 条更新了该值。在这种情况下,我想并行处理读取。换句话说,如何使用 Actors 实现读/写锁的性能?这对于 Scala 标准演员或 Akka 是否实用?还是我错过了演员的重点:)
更新:修复了令人困惑的语言,抱歉
【问题讨论】:
-
不是所有给演员的消息都是只读的(不可变的)吗?演员收到一条消息并根据消息的内容进行一些处理。如果需要,它会在处理过程中向另一个参与者发送消息。
-
是的,消息是不可变的。想象一下计数器/增量器作为参与者的常见示例:我想知道读取当前值是否可以非阻塞其他读取操作。