powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @Cacheable впадает в бесконечный цикл
2 сообщений из 27, страница 2 из 2
Spring @Cacheable впадает в бесконечный цикл
    #39898683
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
Да, это мне подойдет, использовать по ConcurrentHashMap на метод. Только для методов без параметров это выглядит глуповато, потому что в мапе для них может быть максимум одно значение.


Если программа своя, то сделайте два типа HashMap'ов: один обычный, второй выроденный (только для одного значения). Кто же мешает?

Ну, или в крайнем случае, создай топик на форуме (тут ткие переодически проскакивают): "можно ли создать Hashmap в котором будет только одно значение?", а мы все дружно в нем ответим "разрешаем - создавайте" )))

IMHO
...
Рейтинг: 0 / 0
Spring @Cacheable впадает в бесконечный цикл
    #39898903
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, всем спасибо за советы!

В итоге я вообще подумал, ну его нафиг, не буду использовать computeIfAbsent
Пусть несколько потоков вычисляют значение, если его нет в кеше, я не буду никого блокировать. А как вычислят - положу потом в кэш через putIfAbsent. Не хочу словить дедлок (ну вдруг получится так, что method1 вызывает method2, а тот в свою очередь вызывает method1). Т.е. это маловероятно очень, но такое может быть чисто теоретически, и этого довода мне достаточно, чтобы отказаться от идеи. А так, нет блокировок - нет проблем.
А если где-то вычисление значения слишком дорогое, чтобы до него допускать сразу несколько потоков, то я наложу внутри ручной лок вот и все.
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @Cacheable впадает в бесконечный цикл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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