Вопросы по теме 'safe-publication'

Как частные конструкторы обеспечивают безопасность публикации в Java
В классической книге «Параллелизм в Java на практике» Брайан Гетц использует следующий фрагмент кода, чтобы продемонстрировать, как безопасно опубликовать объект с помощью закрытого конструктора и фабричного метода: public class SafeListener {...
221 просмотров

Инициализируются ли конечные поля, инициализированные вне конструкторов, перед запуском конструктора?
Скажите, что у вас есть этот фрагмент кода private final Set set = new HashSet() {{ add(1); }}; SomeConstructor() { printSet(); } long printSet() { new Thread(() -> {System.out.println(set)}).start(); } например, если компилятор...
528 просмотров

Прочитать устаревшее значение поля после построения объекта
Я читаю книгу Брайана Гетца о параллелизме в Java на практике. Пункты 3.5 и 3.5.1 содержат утверждения, которые я не могу понять. Рассмотрим следующий код: public class Holder { private int value; public Holder(int value) { this.value =...
590 просмотров

Может ли поток сначала получить объект через безопасную публикацию, а затем опубликовать его небезопасно?
Этот вопрос возник у меня после прочтения этого ответа . Пример кода: class Obj1 { int f1 = 0; } volatile Obj1 v1; Obj1 v2; Thread 1 | Thread 2 | Thread 3 ------------------------------------------------- var o = new Obj1(); |...
364 просмотров