Как разрешить 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

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