Relaxed-Semantik

Mit der Relaxed-Semantik sind wir am Ende der Skala angelangt. Die Relaxed-Semantik ist das schwächste C++-Speichermodell und sichert nur zu, dass die Operationen auf atomaren Variablen atomar sind.

Weiterlesen...
Gelesen: 5746

Acquire-Release-Semantik

Mit der Acquire-Release-Semantik wird das C++-Speichermodell richtig spannend. Denn nun gilt es nicht mehr, die Synchronisation von Threads zu betrachten, sondern die Synchronisation auf der gleichen atomaren Variable in verschiedenen Threads.

Weiterlesen...
Gelesen: 6770

Sequenzielle Konsistenz angewandt

In dem Artikel sequenzielle Konsistenz habe ich bereits das Defaul-Speichermodell vorgestellt. Dieses Modell, in dem die Aktionen aller Threads einer globalen Reihenfolge oder auch eines globalen Zeittaks folgen, besitzt einen großen Vorteil und einen großen Nachteil.

Weiterlesen...
Gelesen: 11309

Synchronisations- und Ordnungsbedingungen

Mit diesem Artikel geht unsere Tour in das C++-Speichermodell ein Stückchen tiefer. Haben sich die bisherigen Artikel mit der Atomizität der atomaren Variablen beschäftigt, so geht es nun um die Synchronisations- und Ordnungsbedingungen von Operationen.

Weiterlesen...
Gelesen: 9731

Atomare Datentypen

Neben Wahrheitswerten lassen sich atomare Datetypen zu Zeigern, integralen Typen und eigenen Datentypen erzeugen. Für eigene Datentypen gelten besondere Regeln.

Weiterlesen...
Gelesen: 13610

Der atomare Wahrheitswert

Im Gegensatz zum dem std::atomic_flag sind alle weiteren atomaren Datentypen partielle oder vollständige Spezialisierungen des Klassen-Templates std::atomic. Den Anfang macht std::atomic<bool>.

Weiterlesen...
Gelesen: 12097

Das atomare Flag

Atomare Datentypen sichern zwei Eigenschaften zu. Zum einen sind sie atomar, zu anderen setzen die Synchronisations- und Ordungsbedingungen an die Programmausführung.

Weiterlesen...
Gelesen: 11583

Sequenzielle Konsistenz

Die atomaren Datentypen sind die Grundlage für das C++-Speichermodell. Per Default gilt für sie die sequenzielle Konsistenz.

Weiterlesen...
Gelesen: 9058

Das C++-Speichermodell

Seit dem C++11-Standard besitzt C++ ein Speichermodell. Dieses Speichermodell ist die elementare Grundlage dafür, das C++ Programme in Multithreading Umgebungen ein definiertes Verhalten haben.

Weiterlesen...
Gelesen: 13763

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare