Я бегу этот код в отдельном потоке (не UI Thread)ConcurrentModificationException в цикле
strains = new ArrayList<Strain>();
for (Breeder b : breeders) {
for (Strain s : b.getStrains()) {
strains.add(s);
}
}
Это иногда вызывает ConcurrentModificationException. Я знаю, что я не могу добавить или удалить объект из коллекции, которую я итерирую, но в этом фрагменте я не повторяю штаммы. Где я ошибаюсь? Thanks
Это может быть проблемой. Или это может быть петля над штаммами селекционеров. Но синхронизация доступа ничего не изменит, если все потоки не будут делать то же самое при каждом доступе к коллекции. Он должен быть инкапсулирован внутри класса. –
Я пробовал синхронизировать доспехи, но никакой помощи .. Исключение увольняют здесь «для (Breeder b: заводчики)» – TheModularMind