Kapitel 12. Das C++11-Speichermodell
Die Grundlage für Multithreading ist ein definiertes Speichermodell. Dieses erhält C++11 in Anlehnung an Java.
Grundproblem des konkurrierenden Zugriffs
Das Grundproblem des konkurrierenden Zugriffs auf Variablen lässt sich einfach formulieren. Schreibt ein Thread eine gemeinsam genutzte Variable, während ein anderer diese liest, ist das Verhalten nicht deterministisch.
Der bekannte Programmschnipsel in Abbildung 12.1, der auf Deckers Algorithmus basiert (Dekker, 2011), soll das verdeutlichen, denn am Ende des Programms können sowohl r1
als auch r2
den Wert 0
besitzen.
Get C++11 für Programmierer now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.