Как разрешить ConcurrentModificationException при сжатии для LRUCache, который использует LinkedHashMap внутри себяJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как разрешить ConcurrentModificationException при сжатии для LRUCache, который использует LinkedHashMap внутри себя

Сообщение Anonymous »

Моя задача — уменьшить размер LRUCache, для которого я написал код ниже.

Код: Выделить всё

protected void shrinkSize() {
Iterator iter = fetch iterator
while (iter.hasNext()) {
if (size() > maxSize)
iter.remove();
else
break;
}
}
Здесь, в iter.remove(), я сталкиваюсь с ConcurrentModificationException, поскольку вызовы get для кэша происходят параллельно, что изменяет структуру LRUcache.
есть ли способ решить проблему?


Подробнее здесь: https://stackoverflow.com/questions/790 ... which-uses
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»