来源:https://www.chrisstucchio.com/blog/2013/actors_vs_futures.html 表明,这是安全的:Akka演员是否执行互斥?
class FooCounter extends Actor {
var count: Long = 0
def receive = {
case Foo => { count += 1}
case FooCountRequest => { sender ! count }
}
}
是不是可能会有多个同时呼叫接收,使得数不确定的价值。
我的理解是,如果这个对象上的接收调用与它自己互斥,唯一可行的方法就是安全。
谢谢。非常有用。所以这听起来像是演员的主要好处,而不是实际上启用并发,而是确保并发系统中的操作序列化。 – user48956
每个Actor可以一次处理一条消息,因此使用多个Actor可以进行并发处理。 –
嗯....在https://github.com/spray/spray/blob/master/examples/spray-can/simple-http-server/src/main/scala/spray/examples/DemoService.scala 。这个http服务器一次只能处理一个请求? – user48956