Pół ogrodzenia i pełne ogrodzenia?

Czytałem toFull fences zapobiega jakiemukolwiek poleceniu zmiany kolejności lub buforowania wokół tego ogrodzenia (poprzez memoryBarrier)

Potem czytałem ovolatile który generuje „pół ogrodzenia”:

Słowo kluczowe volatile instruuje kompilator, aby generował ogrodzenie przy każdym odczycie z tego pola oraz ogrodzenie zwalniające przy każdym zapisie w tym polu.

zdobyć ogrodzenie

Ogrodzenie przejmujące uniemożliwia przeniesienie innych odczytów / zapisów przed ogrodzenie;

ogrodzenie

Ogrodzenie zwalniające zapobiega przenoszeniu innych odczytów / zapisów za ogrodzenie.

Czy ktoś może mi wyjaśnić te 2 zdania prostym angielskim?

(gdzie jest ogrodzenie?)

edytować

Po kilku odpowiedziach tutaj - zrobiłem rysunek, który może pomóc wszystkim - myślę.

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

questionAnswers(4)

yourAnswerToTheQuestion