经常有人问: Akka的Actor和Scala的Actor有什么不同?这里的回答是,从actor 模型角度讲,没什么不同,它们都实现了actor model.
Akka actors and Scala actors are two implementations of that model.
All Actor model says that your concurrency primitives are actors, which can:
- receive a message and decide what to do next depending on the content of the message, including:
- send messages to any actors they know about
- create new actors
and provides certain guarantees, e.g.:
- any actor will only handle a single message at a time
- messages sent by actor X to actor Y will arrive in the order thay were sent
There is no difference between Scala and Akka actors on this level.
具体实现的不同请参考附件
我个人学习Akka的Actor的原因是Spark使用Akka作为消息驱动系统