私は更新システムを持っているmultiythreading:にConcurrentModificationException -
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Main.frame.onUpdate();
Thread.sleep(50);
for (Entity e : Main.frame.getEntityHandler().getEntities()) {
e.onUpdate();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
、時にはそれがConcurrentModificationExceptionを与えます。なぜこうなった?例外:
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at de.crade.ki.logic.update.UpdateHandler$1.run(UpdateHandler.java:15)
at java.lang.Thread.run(Thread.java:745)
どうすれば修正できますか?
マルチスレッドを理解するまで、複数のスレッドを使用しないでください。 – Holger