powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Небезопасные синглтоны.
4 сообщений из 4, страница 1 из 1
Небезопасные синглтоны.
    #39025402
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можете привести несколько примеров небезопасных синглтонов в многопоточной среде, которые на первый взгляд кажутся безопасными и объяснить почему они небезопасные.

Которые будут работать для малого числа потоков и будут ломаться на большом числе потоков
...
Рейтинг: 0 / 0
Небезопасные синглтоны.
    #39025456
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Я знаю только 1 вариант подходящий под описание.
class Foo {
private Helper helper = null;
public Helper getHelper() {
if (helper == null) {
synchronized(this) {
if (helper == null) {
helper = new Helper();
}
}
}
return helper;
}
}

Это на первый взгляд нормальный дабл чек синглтон. Но согласно джава мемори модел он может работать некорректно так как private Helper helper = null; не объявлен volatile. Это согласно спецификации, но я не уверен, что на современном процессоре удастся получить ошибочное поведение
...
Рейтинг: 0 / 0
Небезопасные синглтоны.
    #39025584
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mad_Head,

Да, пример подходит)

надо ещё
...
Рейтинг: 0 / 0
Небезопасные синглтоны.
    #39025798
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Небезопасные синглтоны.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]