Tema: Threads.
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/05/2009, 07:15
Wolfchamane
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 73
Antigüedad: 15 años, 11 meses
Puntos: 1
De acuerdo Respuesta: Threads.

Vale, yo mismo me contesto.
No hay nada como volver a leer detenidamente.

He aqui la solución al problema de cómo lanzar un hilo y que espere a que se termine otro.

Código:
class Hilo1 extends Thread{
	
  public void run(){
      try{
        System.out.println("Hilo1 comienza ...");
        Hilo2 h2 = new Hilo2();
        h2.start();
        h2.join();
        System.out.println("Hilo1 finaliza ...");
      }catch(Exception e){}
  }
}

class Hilo2 extends Thread{
	
    public void run(){
        try{
            System.out.println("Hilo2 comienza ...");
            for (int i=0; i<10; i++){
                System.out.println("Iter: "+(i+1));
                sleep(1000);
            }
            System.out.println("Hilo2 finaliza ...");
            notify();
        }catch(Exception e){}
    }
}

public class MiPrueba5 {
	
    public static void main(String args[]){
        try{
            System.out.println("Comienzo ...");
            Hilo1 h1 = new Hilo1();
            h1.start();
            h1.join();
            System.out.println("Finalizo ...");
        }catch(Exception e){}
    }
}
La salida por pantalla debería ser:
Comienzo ...
Hilo1 comienza ...
Hilo2 comienza ...
Iter: 1
Iter: 2
Iter: 3
Iter: 4
Iter: 5
Iter: 6
Iter: 7
Iter: 8
Iter: 9
Iter: 10
Hilo2 finaliza ...
Hilo1 finaliza ...
Finalizo ...


Muchas gracias por la ayuda GreenEyed, +Karma para ti xD

Última edición por Wolfchamane; 05/05/2009 a las 07:15 Razón: actualización