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?)

bearbeiten

Nach einigen Antworten hier - ich habe eine Zeichnung gemacht, die jedem helfen kann - denke ich.

http://i.stack.imgur.com/A5F7P.jpg

Antworten auf die Frage(4)

Ihre Antwort auf die Frage