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.

Bruch der sequenziellen Konsistenz
Abbildung 12.1 Bruch der sequenziellen Konsistenz ...

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.