Вопросы по теме 'double-checked-locking'

Что не так с этим исправлением блокировки с двойной проверкой?
Итак, я видел много статей, в которых утверждается, что в C ++ блокировка с двойной проверкой, обычно используемая для предотвращения попыток нескольких потоков инициализировать лениво созданный синглтон, не работает. Нормальный код блокировки с...
2317 просмотров

Какая реализация для ленивого синглтона, инициализация которого может завершиться ошибкой?
Представьте, что у вас есть статический метод без аргументов, который является идемпотентным и всегда возвращает одно и то же значение и может генерировать проверенное исключение, например так: class Foo { public static Pi bar() throws Baz {...
427 просмотров

Ленивая инициализация бесплатно
В статье о идиоме блокировки с двойной проверкой , я нашел эту цитату: Один особый случай ленивой инициализации, который работает без синхронизации, как и ожидалось, — это статический синглтон. Когда инициализируемый объект является...
140 просмотров

ConcurrentHashMap of Future и блокировка с двойной проверкой
Данный: Ленивый инициализированный одноэлементный класс, реализованный с шаблоном блокировки двойной проверки со всеми соответствующими volatile и synchronized элементами в getInstance . Этот синглтон запускает асинхронные операции через...
1275 просмотров

блокировка с двойной проверкой в ​​JAVA
Читая о DCL в Википедии , я задумался о проблеме в DCL и предлагаемом решение, или, другими словами, зачем нужно ключевое слово volatile ? Короче говоря, проблема: использование DCL может привести к тому, что в некоторых случаях частично созданный...
181 просмотров

Возможна ли энергонезависимая блокировка с двойной проверкой?
Вот мой одноэлементный класс. Статическое поле instance не является изменчивым, поэтому возникает проблема изменения порядка / видимости. Для ее решения поле экземпляра val делается окончательным. Поскольку экземпляр построен правильно, его...
205 просмотров

Зачем использовать блокировку с двойной проверкой
Что касается предыдущего вопроса , который я поднял, public static Singleton getInstanceDC() { if (_instance == null) { // Single Checked (1) synchronized (Singleton.class) { if (_instance == null) {...
44 просмотров
schedule 07.03.2023

Double-Check-Locking гарантирует состояние объекта? (параллелизм на практике)
Я читал о параллелизме на практике и у меня возникло недоразумение. цитата: настоящая проблема с DCL - это предположение, что худшее, что может случиться при чтении ссылки на общий объект без синхронизации, - это ошибочно увидеть устаревшее...
65 просмотров

Дважды проверенная блокировка ненулевого поля члена класса
Я знаю классическую идиому блокировка с двойной проверкой для Java , который сначала проверяет, является ли данное поле null , и, если да, получает блокировку класса, который имеет поле: // Double-check idiom for lazy initialization of...
50 просмотров

Почему enum singleton ленив?
Я видел подобные ответы , попытался уточнить через комментарии , и его не удовлетворили примеры здесь . Может быть, пришло время для этого конкретного вопроса ... Почему реализация enum singleton называется ленивой ? public enum...
218 просмотров