دونوں concurrent entities کو locks کے بجائے messages کے ذریعے بات چیت کرا کے 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 crashed actors کو دوبارہ شروع کرتے ہیں۔
Actor A ──send msg──▶ [mailbox] Actor B (B processes serially, own state)
