Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2010, 02:56
culevras
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 3 meses
Puntos: 0
Hilos en java

Hola tengo corriendo dos hilos que instancian una clase en java.

Cada uno de los hilos ejecutan un bucle, y mi intencion es que cuando un hilo llegue a 50 iteraciones del bucle espere a que el otro hilo llegue a 50 iteraciones tambien. Cuando los dos lleguen a 50 iteraciones hago un intercambio de datos entre ambos hilos o clases, y vuelvo a dejarlos correr de forma paralela. El problema es que cuando hago un wait() en uno de estos hilos al llegar a las 50 iteraciones se sale del try y sigue ejecutando el codigo, en vez de esperar a que el otro hilo le haga un notify().

Espero que me haya explicado bien.

Adjunto el codigo:

la clase con el main llama a la clase Principal :

public static void main(String[] args) {


System.out.println("---------INICIO-------------");

Principal P1=new Principal(1);
Principal P2=new Principal(2);
P1.setName(" 1");
P2.setName("2");
P1.start();
P2.start();

La clase Principal:

public class Principal extends Thread {


public void run()
{

if(i==50)
{
System.out.println("Paramos el hilo a espera "+this.getName()+" en la Iteracion "+i+"

try{

System.out.println(" parada de "+this.getName());
this.wait();
}catch(Exception e)
{}

migration=migration+50;
}

Última edición por culevras; 16/09/2010 a las 04:40