Definition
Ein Modell nebenläufiger Berechnung, bei dem unabhängige Einheiten, sogenannte Akteure (actors), lokalen Zustand kapseln, ausschließlich durch asynchrones Nachrichtensenden kommunizieren und neue Akteure erzeugen sowie Verhalten für zukünftige Nachrichten festlegen können; im abstrakten Modell gibt es keinen gemeinsam veränderbaren Zustand zwischen Akteuren.
Prinzip
Prinzip
Nebenläufigkeit entsteht aus Lokalität und asynchroner Kommunikation: Jeder Akteur verarbeitet Nachrichten sequentiell in seinem eigenen Kontext, sodass System‑Level‑Nebenläufigkeit aus vielen unabhängig ausführenden Akteuren resultiert, die nur über Nachrichtensendungen und Akteurserzeugung interagieren.
Demonstration
Demonstration
Ein Webdienst kann modelliert sein durch einen Supervisor‑Akteur, der eingehende Anfragen entgegennimmt und für jede Anfrage einen Worker‑Akteur erzeugt, der sie bearbeitet und eine Antwort sendet; Fehler können durch Supervisor‑Strategien isoliert werden, die fehlerhafte Kinder neu starten oder ersetzen, ohne Shared‑Memory‑Koordination.
Fehlanwendung
Fehlanwendung
Akteure als leichte Threads mit gemeinsamem veränderbarem Speicher behandeln, synchrone Nachrichtenlieferung oder globale Ordnungs‑Garantien annehmen, die das Aktormodell nicht bietet, oder Designs bauen, die auf sofortiger Konsistenz verteilter Postfächer ohne explizite Koordination beruhen.
Konsequenz
Konsequenz
Richtig angewandt liefert das Aktormodell Entwürfe mit starker Lokalität, Skalierbarkeit, Fehlerisolation und natürlicher Verteilbarkeit; es fördert eventual consistency, nachrichtengetriebene Architekturen und Komposition durch Akteurserzeugung und Supervisor‑Hierarchien.
Umkehrung
Umkehrung
Shared‑Memory Multithreading‑Modelle legen gemeinsamen veränderbaren Zustand offen und arbeiten mit Locks oder atomaren Operationen, was andere Synchronisationsprobleme erzeugt; synchrone Kanal‑Modelle (CSP) erfordern Rendezvous‑Kommunikation statt asynchroner Nachrichten.
Abgrenzung
Abgrenzung
Das Actor‑Modell ist ein abstraktes Berechnungsmodell; es garantiert nicht von sich aus Zustellungsreihenfolge, Timeliness, Persistenz oder Exactly‑Once‑Semantik — diese Eigenschaften liefert eine konkrete Implementierung oder Protokolle. Scheduler, Postfachimplementierung und Netzwerkausfälle sind abstrahiert, sofern nicht spezifiziert.
Semantische Spannung
Semantische Spannung
Spannung zwischen dem Actor‑Modell und alternativen Nebenläufigkeitsmodellen (Shared Memory, CSP, Dataflow); ebenso Spannung zwischen dem abstrakten Modell (kein geteilter Zustand) und pragmatischen Frameworks, die Akteure mit Futures, blockierenden Receives oder implizitem Shared Storage erweitern.
Synthese
Synthese
Das Actor‑Modell ist ein asynchrones, nachrichtenorientiertes Nebenläufigkeitsparadigma, in dem isolierte Akteure Zustand kapseln, nur durch Nachrichten und Akteurserzeugung interagieren und so skalierbare, verteilte und fehlertolerante Systeme ermöglichen.