ਦੋਵੇਂ concurrent entities ਨੂੰ locks ਦੀ ਬਜਾਏ messages ਰਾਹੀਂ communicate ਕਰਵਾ ਕੇ shared mutable state ਤੋਂ ਬਚਦੇ ਹਨ — actors ਨਿੱਜੀ state ਦੇ ਮਾਲਕ ਹਨ ਅਤੇ addressed messages ਭੇਜਦੇ ਹਨ; CSP ਵਿੱਚ anonymous processes channels ਰਾਹੀਂ values ਪਾਸ ਕਰਦੇ ਹਨ। "Don't communicate by sharing memory; share memory by communicating."
Actor model (Erlang, Akka)
ਹਰ actor ਦਾ ਇੱਕ ਨਿੱਜੀ mailbox ਹੁੰਦਾ ਹੈ ਅਤੇ messages ਨੂੰ ਇੱਕ ਸਮੇਂ ਇੱਕ process ਕਰਦਾ ਹੈ। Actors named/addressed ਹੁੰਦੇ ਹਨ, asynchronously (fire-and-forget) ਭੇਜਦੇ ਹਨ, ਅਤੇ ਕਦੇ state ਸਾਂਝੀ ਨਹੀਂ ਕਰਦੇ — ਇਸ ਲਈ ਇੱਕ actor ਦੇ ਅੰਦਰ ਕੋਈ locks ਦੀ ਲੋੜ ਨਹੀਂ। Supervision trees crash ਹੋਏ actors ਨੂੰ restart ਕਰਦੇ ਹਨ।
Actor A ──send msg──▶ [mailbox] Actor B (B processes serially, own state)
