Actor = state + behavior + mailbox
State is private. Behavior processes messages one at a time. Mailbox is a queue.
Advertisement
Actor = state + behavior + mailbox
State is private. Behavior processes messages one at a time. Mailbox is a queue.
Advertisement
No shared state
Actors don't read each other's fields. Any communication = a message. Eliminates race conditions.
Single-threaded processing
An actor processes one message at a time. Its own code never has thread-safety concerns.
Dispatcher schedules
Small pool of threads dispatches actor executions. Millions of actors + few threads is fine.
Location transparency
Actor address doesn't reveal local vs remote. Same code sends messages across the network. Basis for Akka, Erlang, Elixir.