Анализ доступа к ArrayList
Ребят, у меня бывает вылетает ошибочка, о том что идет доступ к неконкурентной версии ArrayList, но в коде всё нормально.
Скорее всего где то "глубоко" идет просто вызов двух функций, которые обращаются к одному и тому же листу. Точнее вторая обращается в то время, когда первая еще не закончила с ним работу. Вот самим ошибка к примеру Код:
java.util.ConcurrentModificationException и сам код Код:
public Collection<SkillLearn> getAvailableAllSkills(Player player) oO Сейчас попробую сделать пару элементов synchronized посмотрю что будет... |
Re: Анализ доступа к ArrayList
Используйте синхронизацию, для работы с этим объектом. Или блокировки
|
Re: Анализ доступа к ArrayList
во время итерации коллекции вы в другом потоке её изменяете.
не плохо было бы выделять как то строки в которых ошибка. at l2p.gameserver.data.xml.holder.SkillAcquireHolder. getAvaliableAllList(SkillAcquireHolder.java:212) Как эту строку искать то? И почему так сложно загуглить? Проблема по моему очень распространённая у новичков, когда только начинал сам с ней сталкивался. |
Re: Анализ доступа к ArrayList
212 строка
Код:
loop:for(SkillLearn temp : skillLearns) |
Re: Анализ доступа к ArrayList
Юзайте фастлист)) ему всё равно на этот момент, когда его изменяют во время использования :)
Либо как Вам выше сказал Azagthtot. |
Re: Анализ доступа к ArrayList
Сделал синхронизированными методы
getAvailableAllSkills getAvaliableAllList ничего не изменилось... |
Re: Анализ доступа к ArrayList
Ну тогда блокируйте их, через ReentrantLock
|
Re: Анализ доступа к ArrayList
не методы синхронизировать надо а саму коллекцию >_<
synchronized(list) { бла бла бла } |
Re: Анализ доступа к ArrayList
тут видимо ошибка в алгоритме (это при условии что _normalSkillTree должна хранить/хранит статические данные)
PHP код:
|
Re: Анализ доступа к ArrayList
Цитата:
Цитата:
Цитата:
А делать коллекцию конкурентной - не особо хочется.. Да и тут она не должна быть конкурентной.. (( |
Текущее время: 08:32. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot