Entrambi evitano lo stato mutabile condiviso facendo comunicare le entità concorrenti tramite messaggi invece che tramite lock — gli attori possiedono uno stato privato e inviano messaggi indirizzati; il CSP ha processi anonimi che passano valori attraverso i canali. "Don't communicate by sharing memory; share memory by communicating."
Modello ad attori (Erlang, Akka)
Ogni attore ha una mailbox privata e processa i messaggi uno alla volta. Gli attori sono nominati/indirizzati, inviano in modo asincrono (fire-and-forget) e non condividono mai stato — quindi non servono lock all'interno di un attore. I supervision tree riavviano gli attori andati in crash.
Attore A ──invia msg──▶ [mailbox] Attore B (B processa serialmente, stato proprio)
