ConcurrentModificationException:
Основной метод пытается добавить целые числа в список.
В основном методе мы запускаем дочерний поток. то есть
т.старт()
В настоящее время у нас есть 2 потока в процессе.
Теперь основной поток пытается перебрать элементы списка, а в рамках этого процесса дочерний поток пытается добавить элемент 4 в список.
Таким образом, он дает ConcurrentModificationException.
Как избежать исключения ConcurrentModificationException?
1. Мы можем использовать параллельные коллекции, такие как concurrentHashmap и CopyonWriteArrayList, которые никогда не будут давать ConcurrentCollectionException.
2. Вместо итерации по классу коллекции мы можем выполнять итерацию по массиву, но это приведет к снижению производительности только в том случае, если размер массива слишком велик.
Примечание:
Не обязательно, чтобы это исключение было вызвано только тогда, когда другой поток пытается изменить объект коллекции. Это может произойти, если у одного потока есть тот или иной метод, который пытается нарушить контракт объекта.

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































