miércoles, 25 de abril de 2012

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
Un hilo se crea de la siguiente manera
class MiHilo extends Thread{
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