Both avoid shared mutable state by having concurrent entities communicate via messages instead of locks — actors own private state and send addressed messages; CSP has anonymous processes passing values through channels. "Don't communicate by sharing memory; share memory by communicating."
Actor model (Erlang, Akka)
Each actor has a private mailbox and processes messages one at a time. Actors are named/addressed, send asynchronously (fire-and-forget), and never share state — so no locks are needed inside an actor. Supervision trees restart crashed actors.
Actor A ──send msg──▶ [mailbox] Actor B (B processes serially, own state)
