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ę.