When we compare our old Java friend, thread, with our new friend, Actor, we can see the following major differences:
- Decoupling: The multi-threaded programming model couples most of the concurrency logic into actual application business logic, so its very difficult to reason about and maintain it. Here, a developer has to concentrate on both, carefully.
The Actor-based programming model decouples the concurrency logic from the application business logic, so it's very easy to reason about and maintain it. Here, a developer leaves concurrency issues to the programming model and concentrates on business logic only.
- API: Java threading API is a low-level concurrency API. The Akka Actor API is a high-level concurrency API. ...