JAVA
В моей игре есть ArrayList для хранения всех частиц в игре.У меня есть метод обновления, который обращается к ArrayList для обновления физики, у меня есть метод рендеринга, который обращается к ArrayList для визуализации частиц на экране и слушателя MouseClick, который, когда он обнаруживает MouseClick, добавляет новую Частицу в ArrayList.
Моя проблема в том, что я продолжаю получать исключение java.util.ConcurrentModificationException.Это потому, что когда я нажимаю одновременно, он рендерится, и оба метода пытаются получить доступ к ArrayList.Есть ли решение для одновременного доступа к ArrayList (другой тип данных?).
Какой-то код, который поможет -
Объявление ArrayList
ArrayList<Particle> ParticleList = new ArrayList<Particle>();
Определение класса частиц
public class Particle {
int x;
int y;
Color colour;
int type;
//0:wall
public Particle(int x,int y,Color colour,int type)
{
this.x = x;
this.y = y;
this.colour = colour;
this.type = type;
}`
Метод визуализации
for(Particle e : this.ParticleList)
{
g.fillRect(e.x, e.y, 1, 1);
}