What's the difference of the Akka's Actor with Scala's Actor model

Evans Y. picture Evans Y. · Feb 20, 2012 · Viewed 14.7k times · Source

I found there is also an Akka actor model, so I am wondering what's the difference between the Akka's Actor and Scala's Actor model?

Answer

Alexey Romanov picture Alexey Romanov · Feb 20, 2012

Well, there isn't. There is just Actor model, and 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.

For differences in what they can do, see Different Scala Actor Implementations Overview. The biggest one, for me, is that Akka supports supervisors and ActorRegistry.