Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++: Speichermodell

Acquire-Release-Semantik bei sukzessiver Optimierung

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Acquire-Release-Semantik gibt dem System noch mehr Freiheiten. Ändert sich dadurch etwas an den möglichen Ergebnissen von x und y?
01:58

Transkript

Weiter gehts mit meiner sukzessiven Optimierung. In diesem Fall will ich die Acquire-Release-Semantik in Kombination mit der Relaxed-Semantik vorstellen. Das "y.store" habe ich mit dem Flag "memory_order_release versehen", das "y.load" mit dem Flag "memory_order_acquire". Wir haben also hier eine Acquire-Release-Semantik , auf der Variable "y", und damit eine Synchronisations- und Ordnungsbedingung zwischen den Zugriffen auf "y". Welche Ergebnisse für "x" und "y" sind möglich? Um das zu überlegen möchte ich erst einmal darstellen, was die Acquire-Release-Semantik in diesem konkreten Fall aussagt. Ich habe eine "store" und eine "load"-Operation auf der gleichen atomaren Variable. Dass heißt, wenn das "y.store" vor dem "y.load" stattfindet, habe ich die Garantie, dass das "x.store" nach dem "y.load" zur Verfügung steht. Und jetzt kann man sich überlegen, welche Werte für "x" und "y" sind hier möglich. Als erstes ist natürlich möglich, dass zuerst beide Werte, "x" und "y", geschrieben werden, weil "writing" zuerst zum Einsatz kommt. Also die Werte "11" und 2000 sind möglich. Dann ist natürlich möglich, dass erst beide Werte gelesen werden, also die Werte "0" und "0", für "y" und "x". Die dritte Kombinationsmöglichkeit ist noch, dass erst "x.store" hier ausgeführt wird, dann "y" und "x" gelesen werden, und dann erst "y.store". Dass heißt in diesem konkreten Fall ist das Ergebnis für "y" gleich "0" und für "x" gleich "2000" möglich. In dieser Lektion habe ich Ihnen meine sukzessive Optimierung mit der Acquire-Release-Semantik vorgestellt. Acquire, release. "X" hat jeweils das Flag "relaxed" gesetzt.

C++: Speichermodell

Verstehen und nutzen Sie die Konzepte und die zugrundeliegenden TEchnolgien des Speichermodells in C++.

1 Std. 29 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.11.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!