來源: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