Programacion concurrente multihilo
Un hilo es un proceso que se
está ejecutando en un momento determinado en nuestro sistema operativo, como
cualquier otra tarea, esto se realiza directamente en el procesador.
Al
hablar de multi-hilo pudiera parecer que se necesita más de un procesador para
realizar dichas tareas pero no es así, el procesador mismo junto con la máquina
virtual de Java gestionan el flujo de trabajo y dan la impresión de que se
puede ejecutar más de algún proceso al mismo tiempo (aunque en términos
estrictos eso no es posible), basta con entender que en Java, 2 o más procesos
pueden ejecutarse al mismo tiempo dentro de una misma aplicación y para ello
son necesarios los Threads o hilos.
En Java un hilo o Thread puede ser 2 cosas:
+ Una instancia de la clase java.lang.Thread
+ Un proceso en ejecución
+ Una instancia de la clase java.lang.Thread
+ Un proceso en ejecución
Un hilo se crea de la siguiente manera
class
MiHilo extends Thread{
public void run(){
System.out.println("Trabajo por hacer dentro de MiHilo");
}
}
public void run(){
System.out.println("Trabajo por hacer dentro de MiHilo");
}
}
Haciendo uso del método run.
Un hilo tiene diferentes
estados:
·
Nace=Start ejemplo: nuevoHilo.start();
(línea de codigo correspondiente a dicha acción.
·
Listo
·
Ejecutándose
·
Dormido=Sleep
·
Bloqueado
·
Suspendido= Suspend
·
Esperando= Wait
·
Muere = Stop