Вопросы по теме 'double-checked-locking'
Что не так с этим исправлением блокировки с двойной проверкой?
Итак, я видел много статей, в которых утверждается, что в C ++ блокировка с двойной проверкой, обычно используемая для предотвращения попыток нескольких потоков инициализировать лениво созданный синглтон, не работает. Нормальный код блокировки с...
2317 просмотров
schedule
12.12.2021
Какая реализация для ленивого синглтона, инициализация которого может завершиться ошибкой?
Представьте, что у вас есть статический метод без аргументов, который является идемпотентным и всегда возвращает одно и то же значение и может генерировать проверенное исключение, например так:
class Foo {
public static Pi bar() throws Baz {...
427 просмотров
schedule
22.02.2023
Ленивая инициализация бесплатно
В статье о идиоме блокировки с двойной проверкой , я нашел эту цитату:
Один особый случай ленивой инициализации, который работает без синхронизации, как и ожидалось, — это статический синглтон. Когда инициализируемый объект является...
140 просмотров
schedule
01.11.2022
ConcurrentHashMap of Future и блокировка с двойной проверкой
Данный:
Ленивый инициализированный одноэлементный класс, реализованный с шаблоном блокировки двойной проверки со всеми соответствующими volatile и synchronized элементами в getInstance . Этот синглтон запускает асинхронные операции через...
1275 просмотров
schedule
10.06.2023
блокировка с двойной проверкой в JAVA
Читая о DCL в Википедии , я задумался о проблеме в DCL и предлагаемом решение, или, другими словами, зачем нужно ключевое слово volatile ? Короче говоря, проблема: использование DCL может привести к тому, что в некоторых случаях частично созданный...
181 просмотров
schedule
06.11.2022
Возможна ли энергонезависимая блокировка с двойной проверкой?
Вот мой одноэлементный класс.
Статическое поле instance не является изменчивым, поэтому возникает проблема изменения порядка / видимости. Для ее решения поле экземпляра val делается окончательным. Поскольку экземпляр построен правильно, его...
205 просмотров
schedule
28.11.2022
Зачем использовать блокировку с двойной проверкой
Что касается предыдущего вопроса , который я поднял,
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 просмотров
schedule
12.08.2023
Дважды проверенная блокировка ненулевого поля члена класса
Я знаю классическую идиому блокировка с двойной проверкой для Java , который сначала проверяет, является ли данное поле null , и, если да, получает блокировку класса, который имеет поле:
// Double-check idiom for lazy initialization of...
50 просмотров
schedule
21.11.2022
Почему enum singleton ленив?
Я видел подобные ответы , попытался уточнить через комментарии , и его не удовлетворили примеры здесь .
Может быть, пришло время для этого конкретного вопроса ...
Почему реализация enum singleton называется ленивой ?
public enum...
218 просмотров
schedule
04.08.2022