రెండూ locks కు బదులుగా messages ద్వారా concurrent entities కమ్యూనికేట్ చేయడం ద్వారా shared mutable state ను నివారిస్తాయి — actors private state ను కలిగి ఉంటాయి మరియు addressed messages ను పంపుతాయి; CSP లో channels ద్వారా values ను పంపే anonymous processes ఉంటాయి. "Don't communicate by sharing memory; share memory by communicating."
Actor model (Erlang, Akka)
ప్రతి actor కు ఒక private 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)
