Definition
The actor model is a way of structuring concurrent programs around independent units called actors. Each actor owns a slice of private state that nothing else can touch directly. Actors do not share memory; they communicate solely by sending one another asynchronous messages.
Because there is no shared mutable state, the whole class of bugs that comes from two threads writing the same variable simply cannot occur. An actor processes its inbox one message at a time, so its own state stays consistent without locks, mutexes, or careful ordering.
Why it matters
How it works
An actor has three capabilities: it can send messages to actors whose address it knows, create new actors, and decide how it will handle the next message it receives. Messages are queued; the actor pulls them off one at a time and reacts.
Supervision hierarchies build on this: a parent actor watches its children and decides whether to restart, stop, or escalate when one fails. This turns crashes into routine, recoverable events rather than catastrophes, which underpins the let it crash philosophy popular in actor-based platforms.