Вопросы по теме 'safe-publication'
Как частные конструкторы обеспечивают безопасность публикации в Java
В классической книге «Параллелизм в Java на практике» Брайан Гетц использует следующий фрагмент кода, чтобы продемонстрировать, как безопасно опубликовать объект с помощью закрытого конструктора и фабричного метода:
public class SafeListener {...
221 просмотров
schedule
03.06.2022
Инициализируются ли конечные поля, инициализированные вне конструкторов, перед запуском конструктора?
Скажите, что у вас есть этот фрагмент кода
private final Set set = new HashSet() {{ add(1); }};
SomeConstructor() {
printSet();
}
long printSet() {
new Thread(() -> {System.out.println(set)}).start();
}
например, если компилятор...
528 просмотров
schedule
22.06.2023
Прочитать устаревшее значение поля после построения объекта
Я читаю книгу Брайана Гетца о параллелизме в Java на практике. Пункты 3.5 и 3.5.1 содержат утверждения, которые я не могу понять.
Рассмотрим следующий код:
public class Holder {
private int value;
public Holder(int value) {
this.value =...
590 просмотров
schedule
30.11.2023
Может ли поток сначала получить объект через безопасную публикацию, а затем опубликовать его небезопасно?
Этот вопрос возник у меня после прочтения этого ответа .
Пример кода:
class Obj1 {
int f1 = 0;
}
volatile Obj1 v1;
Obj1 v2;
Thread 1 | Thread 2 | Thread 3
-------------------------------------------------
var o = new Obj1(); |...
364 просмотров
schedule
31.10.2023