둘 다 동시 개체들이 락 대신 메시지로 통신하게 하여 공유 가변 상태를 회피합니다 — 액터는 비공개 상태를 소유하고 주소가 지정된 메시지를 보내며, CSP는 익명의 프로세스들이 채널을 통해 값을 전달합니다. "메모리를 공유하여 통신하지 말고, 통신하여 메모리를 공유하라."
액터 모델 (Erlang, Akka)
각 액터는 비공개 메일박스를 가지고 메시지를 한 번에 하나씩 처리합니다. 액터는 이름/주소가 지정되고, 비동기적으로(fire-and-forget) 보내며, 상태를 절대 공유하지 않으므로 — 액터 내부에는 락이 필요 없습니다. 감독 트리(supervision tree)가 크래시된 액터를 재시작합니다.
text
Actor A ──send msg──▶ [mailbox] Actor B (B processes serially, own state)
CSP (Go, occam)
프로세스는 익명이며, 을 통해 통신합니다. 송수신 랑데부(rendezvous)(버퍼 없는 채널은 양쪽이 준비될 때까지 블로킹)가 동기화를 제공합니다. 이름이 지정된 개체는 프로세스가 아니라 채널입니다.
