Halbzäune und Vollzäune?
Ich habe das gelesenFull fences
verhindert, dass Befehle um diesen Zaun herum neu angeordnet oder zwischengespeichert werden (über memoryBarrier)
Dann habe ich darüber gelesenvolatile
das erzeugt "Halbzäune":
Das Schlüsselwort volatile weist den Compiler an, bei jedem Lesen aus diesem Feld einen Erfassungsbereich und bei jedem Schreiben in dieses Feld einen Freigabebereich zu generieren.
Erwerbszaun
Ein Erfassungszaun verhindert, dass andere Lese- / Schreibvorgänge vor dem Zaun verschoben werden.
Release-Zaun
Ein Release-Zaun verhindert, dass andere Lese- / Schreibvorgänge nach dem Zaun verschoben werden.
Kann mir bitte jemand diese 2 Sätze in einfachem Englisch erklären?
(Wo ist der Zaun?)
bearbeitenNach einigen Antworten hier - ich habe eine Zeichnung gemacht, die jedem helfen kann - denke ich.