Pues estoy haciendo un bingo tipo tiempo real, usando hilos por cada jugador.. eso es lo mas basico.
Tengo unos randoms para simular el tiempo en el que demoran en decir los numeros, y en el que una persona (que este distraida, no escuche el numero, etc) se demora en tomarlo.
tengo lo siguiente:
Código:
public void run() {
r = new Random();
while (!tablaBingo.isEmpty() && !miTablero.getGanador()) {
try {
if (!tablaBingo.isEmpty()) {
balota = miTablero.getUltBalota();
if (tablaBingo.remove(balota)) {
System.out.println(miNombre + " coje el " + balota);
}
n = r.nextInt(Cliente.MIN_ERROR + Cliente.SACA_BALOTA);
Thread.sleep(n);
if (n >= Cliente.MIN_TIEMPO) {
balotas = miTablero.getTotalBalotas();
for (Integer balotas : this.balotas) {
if (tablaBingo.remove(balotas)) {
System.out.println(miNombre + " se le paso el " + balotas);
}
}
}
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (tablaBingo.isEmpty()) {
System.out.println("Ganaste!!" + miNombre);
miTablero.setGanador(true);
}
}
Pero el problema es que me esta sacando este error:
Código:
Exception in thread "Thread-5" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at bingo.Cliente.run(Cliente.java:83)
Entiendo que es por el iterador del bucle de la parte en la que anuncia cuando se pasaron los numeros... Pero no entiendo el problema muy bien... Podria alguien ayudarme.. Mil graicas