Introduction
Using threads on Java is very simple. There are many tutorial sites (only write in goole +tutorial +thread ). In this article shown an example of a "serial" program that is converted on "parallel" program. In this case the autor divide datas and assign to each thread.
"serial" code
Generated 100 names with 2 arrays.
public class hilo__1
{
private String[] nombres= new String[10];
private String[] apellidos= new String[10];
public hilo__1()
{
nombres[0]= "jesus";
nombres[1]= "antonio";
nombres[2]= "claudia";
nombres[3]= "Pilar";
nombres[4]= "Magdalena";
nombres[5]= "Roberto";
nombres[6]= "Elias";
nombres[7]= "Ana";
nombres[8]= "Mario";
nombres[9]= "Maria";
apellidos[0]= "perez";
apellidos[1]= "rivera";
apellidos[2]= "marte";
apellidos[3]= "lopez";
apellidos[4]= "Liz";
apellidos[5]= "Cabrera";
apellidos[6]= "Macias";
apellidos[7]= "Rodriguez";
apellidos[8]= "Mares";
apellidos[9]= "Limon";
}
public void mostrar()
{
int i, j;
for(i=0; i< 10 ; i+=1)
{
for(j=0; j<10; j+=1 )
{
System.out.println(nombres[i] + " " + apellidos[j] );
}
}
}
public static void main(String[] args)
{
hilo__1 obj= new hilo__1();
obj.mostrar();
}
}
"Parallel" code
Using inherintance of thread class
public class hilo__2 extends Thread
{
private String[] nombres= new String[10];
private String[] apellidos= new String[10];
private int inicio;
private int termino;
private String name;
public hilo__2(int i, int j, String n)
{
inicio= i;
termino= j;
name= n;
nombres[0]= "jesus";
nombres[1]= "antonio";
nombres[2]= "claudia";
nombres[3]= "Pilar";
nombres[4]= "Magdalena";
nombres[5]= "Roberto";
nombres[6]= "Elias";
nombres[7]= "Ana";
nombres[8]= "Mario";
nombres[9]= "Maria";
apellidos[0]= "perez";
apellidos[1]= "rivera";
apellidos[2]= "marte";
apellidos[3]= "lopez";
apellidos[4]= "Liz";
apellidos[5]= "Cabrera";
apellidos[6]= "Macias";
apellidos[7]= "Rodriguez";
apellidos[8]= "Mares";
apellidos[9]= "Limon";
}
public void mostrar()
{
int i, j;
for(i=inicio; i< termino; i+=1)
{
for(j=0; j<10; j+=1 )
{
System.out.println(name + " -> " + nombres[i] + " " + apellidos[j] );
}
}
}
public void run()
{
this.mostrar();
}
public static void main(String[] args)
{
hilo__2 obj1= new hilo__2(0,5,"1");
hilo__2 obj2= new hilo__2(5,10,"2");
obj1.start();
obj2.start();
}
}
"Parallel" code
Using inherintance of Runnable interface
public class hilo_run implements Runnable
{
private String[] nombres= new String[10];
private String[] apellidos= new String[10];
private int inicio;
private int termino;
private String name;
public hilo_run(int i, int j, String n)
{
inicio= i;
termino= j;
name= n;
nombres[0]= "jesus";
nombres[1]= "antonio";
nombres[2]= "claudia";
nombres[3]= "Pilar";
nombres[4]= "Magdalena";
nombres[5]= "Roberto";
nombres[6]= "Elias";
nombres[7]= "Ana";
nombres[8]= "Mario";
nombres[9]= "Maria";
apellidos[0]= "perez";
apellidos[1]= "rivera";
apellidos[2]= "marte";
apellidos[3]= "lopez";
apellidos[4]= "Liz";
apellidos[5]= "Cabrera";
apellidos[6]= "Macias";
apellidos[7]= "Rodriguez";
apellidos[8]= "Mares";
apellidos[9]= "Limon";
}
public void mostrar()
{
int i, j;
for(i=inicio; i< termino; i+=1)
{
for(j=0; j<10; j+=1 )
{
System.out.println(name + " -> " + nombres[i] + " " + apellidos[j] );
}
}
}
public void run()
{
this.mostrar();
}
public static void main(String[] args)
{
hilo_run obj1= new hilo_run(0,5,"1");
hilo_run obj2= new hilo_run(5,10,"2");
Thread hilo1 = new Thread (obj1);
Thread hilo2 = new Thread (obj2);
hilo1.start();
hilo2.start();
System.out.println("fin");
}
}
No hay comentarios:
Publicar un comentario
Are you ready?