Memory Model
Ein Speichermodell definiert die Sichtbarkeits- und Ordnungsgarantien für Lese- und Schreibzugriffe über Threads hinweg — die Grundlage nebenläufiger Korrektheit.
Zweck
Die Reordering- und Sichtbarkeitsregeln von Speicheroperationen im Multithreading verstehen und korrekten nebenläufigen Code schreiben.
Mechanismus
Sequenzielle Konsistenz (SC): alle Threads sehen eine einheitliche Ordnung. Acquire-Release: Schreibzugriffe vor dem Release werden nach dem Acquire sichtbar. Relaxed: nur Atomicität, keine Ordnungsgarantie. Java/JS/C++ spezifizieren jeweils eigene Speichermodelle.
Anwendungsfälle
- Nebenläufige Programmierung
- Lock-freie Algorithmen
- Sprachspezifikationen