Понимание семантики памяти VarHandle -> Видимость - PullRequest
0 голосов
/ 27 июня 2019

По семантике и модели памяти мы понимаем это путем переупорядочения команд и очистки / обновления кэша вокруг барьера.В классе Varhandle Java Дей представил много семантики памяти, но мало объяснит, что именно она делает ??У меня есть вопрос и пояснения, требуемые ниже ->

a) Простая настройка и получение подобны нормальному доступу к памяти без ограничения порядка памяти, а также без гарантии видимости ???б) Непрозрачная семантика памяти -> что именно она делает ??Это простая память для чтения и записи в основную память (без кеш-памяти) без каких-либо ограничений порядка памяти ???Документация гласит -> она гарантирует упорядоченный доступ к одной и той же переменной для одного потока.c) Разница между aquire / release и volatile?

Спасибо

1 Ответ

0 голосов
/ 05 июля 2019

Это то, что я получил из приведенных ниже документов -> http://gee.cs.oswego.edu/dl/html/j9mm.html Порядок получения / освобождения от последовательной последовательной памяти

a) простой режим -> Только примитив и ссылкаget и set являются атомарными, позволяют все упорядочивать и не очищать кэш.б) Непрозрачный -> Гарантирует видимость только одной переменной в программном порядке.Нет гарантии / ограничения abt видимость других переменных в потоке c) Получить / Отменить -> Та же самая переменная полная гарантия заказа плюс происходит до гарантии.Делает ли кеш недействительным при получении и сбрасывает кэш при выпуске d) Volatile -> Полностью упорядоченный доступ к памяти всех изменчивых переменных.Полностью ожидается в соответствии с программным заказом.

...