Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2009, 08:32
lolandrea
 
Fecha de Ingreso: febrero-2009
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
>.>... A ver si alguien me puede ayudar con estos hilos... =S

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