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

C++: Speichermodell

Unsynchronisierter Zugriff

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Was passiert, wenn Variablen unsynchronisiert verwendet werden?
01:43

Transkript

In dieser Lektion stelle ich Ihnen mein Programm "sukzessive Optimierung mit nicht-atomaren Variablen" vor. Sie sehen, x und y sind nicht atomar. Welche Ergebnisse für x und y sind hier möglich? Wenn Sie sich das genau anschauen, stellen Sie fest: Hier findet keine Synchronisation statt. Das heißt, auf x und y wird unsynchronisiert zugegriffen. Das bedeutet, ich habe hier einen kritischen Wettlauf oder anders ausgedrückt, ein "data race", englisch. Heißt: ich habe mindestens zwei Threads, mindestens einer dieser zwei Threads macht eine Schreiboperation, und damit habe ich ein 'data race', und damit habe ich undefiniertes Verhalten. Das heißt, ich kann keine Aussagen treffen, welche Werte für x und y hier möglich sind. Es kann alles passieren, und noch viel mehr. Tatsächlich ist es nicht ganz so schlimm. Die gängigen Compiler, aber nicht der C++-Standard, sichern zu, dass Operationen auf ganzen Zahlen atomar stattfinden, wenn sie natürlich allein sind, wenn sie natürlich ausgerichtet sind. Was heißt das? Wenn eine ganze Zahl auf einem 32-Bit-System die Adresse besitzt, die durch 4 teilbar ist, dann ist diese natürliche Zahl natürlich aligned. Auf 64-Bit-Systemen bedeutet das, natürlich: Die Adresse der ganzen Zahl muss durch acht teilbar sein. In dieser Lektion habe ich Ihnen den Zugriff auf nicht-atomare Variablen in meinem Spielchen "sukzessive Optimierung" vorgestellt. Das Ergebnis ist: Das Programmverhalten ist undefiniert.

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!