Результаты поиска по запросу "java-memory-model"

1 ответ

 понадобится? --- У вас уже есть ответ: если последнее измененное всегда является первым, прочитанным другим потоком, то нет необходимости делать другие изменчивыми. Если вы не можете сделать эту гарантию, ответ: это зависит!

трел наэтот ответ [https://stackoverflow.com/questions/8769570/volatile-piggyback-is-this-enough-for-visiblity/8769692#8769692] и в нем говорится, как: Согласно новой модели памяти, когда поток A записывает в энергозависимую переменную V, а ...

3 ответа

Приятно видеть правильно сконструированное значение для поля, но если само поле является ссылкой, то вы также хотите, чтобы ваш код видел обновленные значения для объекта (или массива), на который оно указывает. Если ваше поле является окончательным, это также гарантировано. Таким образом, вы можете иметь окончательный указатель на массив и не беспокоиться о том, что другие потоки видят правильные значения для ссылки на массив, но неправильные значения для содержимого массива. Опять же, под «правильным» здесь мы подразумеваем «обновленный на конец конструктора объекта», а не «последнее доступное значение».

кто-нибудь сказать мне, является ли этот класс потокобезопасным или нет? class Foo { private final Map<String,String> aMap; public Foo() { aMap = new HashMap<String, String>(); aMap.put("1", "a"); aMap.put("2", "b"); aMap.put("3", "c"); } ...

0 ответов

(Спецификация JSR133)

я есть вопрос, касающийся модели памяти Java. Вот простой класс, представляющий проблему: public class ImmutableIntArray { private final int[] array; public ImmutableIntArray() { array = new int[10]; for (int i = 0; i < 10; i++) { array[i] = i; ...

ТОП публикаций

1 ответ

Каковы сходства между моделью памяти Java и моделью памяти C ++ 11?

Новый стандарт c ++ вводит понятие модели памяти. На SO уже были вопросы об этом, что это значит, как это меняет способ написания кода на c ++ и так далее. Мне интересно узнать, как модель памяти C ++ связана со старой, хорошо известной моделью ...

4 ответа

Параллелизм Java - публикация неизменяемых объектов (параллелизм Java на практике)

В Java параллелизма на практике автор заявил, что Неизменяемые объекты могут быть опубликованы с помощью любого механизмаНеизменяемые объекты могут безопасно использоваться любым потоком без дополнительной синхронизации, даже если синхронизация ...

5 ответов

Интерпретация «правила программного порядка» в параллелизме Java

Правило программного порядка гласит: «Каждое действие в потоке происходит перед каждым действием в этом потоке, которое происходит позже в программном порядке». 1. Я читаю в ...