En este pequeño tutorial veremos como manejar diferentes procesos en Java utilizando Hilos mediante la clase Thread. Un Thread es un hilo de ejecucion en un programa en java, el cual permite tener multiples instancias de hilos corriendo de forma simultanea en una aplicacion. Los hilos tienen un valor denominado prioridad, el cual puede pedir a java que en una situacion en que tenga que elegir cual proceso ejecutar inclinarse por uno u otro hilo, por default los hilos en java se inicializan con la misma prioridad.
En java existen dos formas distintas de crear un nuevo hilo, heredando de la clase Thread o implementando la Interfaz Runnable. Si utilizamos la opcion de implementar la interfaz Runnable, mas tarde tendremos que utilizarlo de parametro en una nueva instancia de la clase Thread para inicializarlo. Veamos un Ejemplo utilizando estas dos formas de crear hilos en java, se crearan dos hilos, uno creado heredando de la clase Thread y otro implementandolo de la interfaz Runnable, tambien veremos la forma de inicializarlos y el resultado al ejecutarlo, Veamos.
Clase Main
public class Main { public static void main(String args[]){ //Creamos el hilo 1 que hereda de la clase Thread Hilo1 hilo1 = new Hilo1(); //Creamos el hilo 2 que implementa la clase Runnable Hilo2 hilo2 = new Hilo2(); /* * Establecemos prioridad * (podemos jugar con valores de 1 y 10 * y veremos cual proceso termina primero * y cual segundo dependiendo de el valor * que asignemos aqui. */ hilo1.setPriority(10); //iniciamos los procesos hilo1.start(); new Thread(hilo2).start(); } }
Clase Hilo1
public class Hilo1 extends Thread{ public Hilo1(){ System.out.println("Iniciando el hilo 1"); } @Override public void run(){ for(int i=0;i<1000;i++){ System.out.println("Hilo1: "+i); } } }
Clase Hilo2
public class Hilo2 implements Runnable{ public Hilo2(){ System.out.println("Iniciando el hilo 2"); } @Override public void run() { for(int i=0;i<1000;i++){ System.out.println("Hilo2: "+i); } } }
Como podemos ver las 2 formas de crear hilos en java funciona correctamente y son igual de facil de implementar, el metodo setPriority recibe como parametro el valor que queremos darle de prioridad al proceso en si, como valor maximo es 10 y como valor minimo es 1. Al cambiar este valor podemos ver reflejado el cambio en el orden en que termina de ejecutarse uno u otro hilo debido a la prioridad que se maneje. El uso correcto de hilos en java optimiza nuestros programas al trabajar de mejor manera el uso de recursos del sistema.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
@Jonathan ha quedado genial, gran aporte, con el estilo y todo en el código un diez por la forma y por el contenido.
Gracias Javier! ha sido mi primer Articulo, espero seguir colaborando con la comunidad linuxhispano y que el contenido que aporte sea del agrado de todos.
Eso seguro, tras ver este primer artículo no lo dudo.