Demostración Join, hilos en Java

DESCARGAR


public class DemostracionJoin {

public static void main(String[] args) {
// TODO Auto-generated method stub

NuevoHilo oHilo1 = new NuevoHilo("Uno");
NuevoHilo oHilo2 = new NuevoHilo("dos");
NuevoHilo oHilo3 = new NuevoHilo("tres");

System.out.println("El hilo uno esta vivo: "+oHilo1.t.isAlive());
System.out.println("El hilo dos esta vivo: "+oHilo2.t.isAlive());
System.out.println("El hilo tres esta vivo: "+oHilo3.t.isAlive());

try{
System.out.println("Espera a la finalizcion de los otros hilos");
oHilo1.t.join(); oHilo2.t.join();oHilo3.t.join();
}catch(InterruptedException e){
System.out.println("interrupcion del hilo principal");
}

System.out.println("El hilo uno esta vivo: "+oHilo1.t.isAlive());
System.out.println("El hilo dos esta vivo: "+oHilo2.t.isAlive());
System.out.println("El hilo tres esta vivo: "+oHilo3.t.isAlive());
System.out.println("salir del hilo principal");
}

}




public class NuevoHilo implements Runnable{
String name;
Thread t;
NuevoHilo(String nombre){
name = nombre;
t = new Thread(this,name);
System.out.println("nuevo hilo "+t);
t.start();
}

@Override
public void run() {
// TODO Auto-generated method stub
try{
for (int i = 5; i >0; i--) {
System.out.println(name + ": "+i);
Thread.sleep(1000);
}
}catch(InterruptedException e){
System.out.println("interupcion hilo"+name);
}
System.out.println("sale del hilo"+name);
}
}