ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación concurrente (Multihilo)


Enviado por   •  24 de Abril de 2013  •  519 Palabras (3 Páginas)  •  523 Visitas

Página 1 de 3

Programación concurrente (Multihilo)

Para empezar debemos de definir que es un hilo (thread), es aquella instrucción que secuencial dentro de un programa, a veces por ser parte de un proceso puede gozar de cierta autonomía, pero a diferencia de un proceso muchos hilos pueden compartir la misma información. Tiene sus limitantes puesto que no se puede ejecutar así mismo y necesita un programa desde donde correr. A partir de esto se pueden programar varios hilos que corran simultáneamente en el mismo programa.

Ahora bien, la programación multihilo también llamada concurrente o multihebra, es aquella que tiene la capacidad de ejecutar varios hilos a la vez dentro de un programa o proceso; esto reduce el tiempo que esta sin usarse la PC, reduce los tiempos de ejecución y hace al programa más eficiente. La manera en la que se dio este tipo de programación es porque se buscaba una solución al momento en que cierto programa necesitara estar ejecutando dos tareas al mismo tiempo.

Son más frecuentes de lo que parece

El interprete Java (la máquina virtual de Java, JVM o Java Virtual Machine) inicia un conjunto de hilos sin intervención del programador (llamados hilos de utilidad).

Ejemplos de hilos producidos por la JVM:

• El ejemplo típico se produce a la hora de gestionar los mensajes paint() que recibe un applet. La JVM crea un hilo para hacer las llamadas al método paint() del applet.

• Otro caso es la ejecución del método main(): la JVM inicia un thread que ejecuta dicho método.

• La recolección de basura (garbage collection) que permite liberar memoria también tiene su propio hilo.

• También produce hilos cuando se carga una imagen, cuando se reproduce un sonido, etc.

En Java un hilo es una clase que desciende de la clase java.lang.Thread o bien que extiende a la interfaz Runnable (útil en los casos de que la clase ya forme parte de una jerarquía de clases esto es que ya derive de otra clase).La forma de construcción del hilo (derivación o implementación) es independiente de su utilización, una vez creados se usan de la misma forma sea cual sea el método de construcción utilizado. En Java un hilo puede encontrarse en cualquiera de los siguientes estados:

Nace: El hilo se declarado pero todavia no se ha dado la orden de puesta en ejecucion (metodo start()).

Listo: El hilo esta preparado para entrar en ejecucion pero el planificador aun no ha decidido su puesta en marcha.

Ejecutandose: El hilo esta ejecutandose en la CPU.

Dormido: El hilo se ha detenido durante un instante de tiempo definido mediante la utilizacion del metodo sleep().

Bloqueado: El hilo esta pendiente de una operacion de I/O y no volvera al estado listo hasta que esta termine.

Suspendido: El hilo ha detenido temporalmente su ejecucion mediante la utilizacion

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com