You are on page 1of 5

Programa 1

class ThreadEjemplo extends Thread {//declara ThreadEjemplo heredada Thread

public ThreadEjemplo(String str) {//declara una variable pública de tipo String de la clase
ThreadEjemplo

super(str);//

public void run() {//declara el meetodo run() para arrancar los hilos

for (int i = 0; i < 10 ; i++)//declara inicializa una varible contadora que nos dice cuantas veces que
ejecuta el hilo

System.out.println(i + " " + getName());//imprime el valor de "i" un espacio y GETNAME()dice que


hilo se ejecuta

System.out.println("Termina thread " + getName());//imprime "TERMINA THREAD" y el nombre


del hilo que termina

public static void main (String [] args) {//declara el programa principal que inicia los hilos. main
tambien es un hilo

new ThreadEjemplo("Pepe").start();//inicia una variable de ThreadEjemplo y le da nombre al hilo


ademas de iniciarlo

new ThreadEjemplo("Juan").start();//inicia una variable de ThreadEjemplo y le da nombre al hilo


ademas de iniciarlo

System.out.println("Termina thread main");//imprime "Termina Thread main"

}
b) Diferencias entre programa y propuesta

Aquí se declara el nombre del hilo que será lo que se va a mandar a imprimir como parte del hilo
mismo, en vez de que declaremos una línea de texto tal cual que será la que se mande a imprimir
como parte de la ejecución de los hilos
Programa 2
class TestTh extends Thread {

private String nombre;

private int retardo;

public TestTh( String s,int d ) {

nombre = s;

retardo = d;

public void run() {

//

try {

sleep( retardo );

} catch( InterruptedException e ) {}

System.out.println( "Hola Mundo!"+nombre+" "+retardo );

class MultiHola {

public static void main( String args[] ) {

TestTh t1,t2,t3;

//

t1 = new TestTh( "Thread1",(int)(Math.random()*2000) );


t2 = new TestTh( "Thread2",(int)(Math.random()*2000) );

t3 = new TestTh( "Thread3",(int)(Math.random()*2000) );

//

t1.start();

t2.start();

t3.start();

}
d) Diferencia entre Programa 1 y Programa 2

1.- El primer programa envía el nombre del hilo y el segundo nos muestra el nombre mas un
numero que representa el retardo para cada hilo

2.- El primer programa inicializa y arranca las variables de los hilos que se ejecutan al mismo
tiempo, y el segundo primero declara cada objeto de cada hilo y luego los hace correr

3.- El primer programa usa un ciclo para lo hilos y el segundo usa la función sleep para controlar en
que tiempo se ejecutan

e) Que pasa cuando el run() termina

Cuando termina la instrucción, se para el hilo y cede el tiempo y procesador a otro hilo