multihilos

Páginas: 6 (1475 palabras) Publicado: 28 de mayo de 2014
Programación Concurrente,
Multihilo

Programación Multihilo

A diferencia de la mayoría de los lenguajes de
programación, Java proporciona soporte para la
programación Multihilo.

Programación Multihilo

Un programa multihilo contiene 2 o más partes que
pueden ser ejecutadas de manera concurrente o
simultánea.
Cada parte del programa se denomina hilo y cada
hilo define un caminode ejecución independiente.
Por lo tanto, la programación multihilo es una forma
especializada de multitarea.

Programación Multihilo
La multitarea lo permiten la mayoría de los sistemas
operativos modernos.
Existen 2 tipos distintos de multitarea: la basada en
procesos y la basada en hilos.
Un proceso es en esencia un programa que se está
ejecutando, por lo que la multitarea basada enproceso es la que permite ejecutar 2 programas
concurrentemente.

Programación Multihilo

En la multitarea basada en procesos, un programa es
la unidad más pequeña de código que el sistema
puede gestionar.
En la multitarea basada en hilos, el hilo es la unidad
de código más pequeña que se puede gestionar. Esto
significa que un solo programa puede realizar 2 o
más tareassimultáneamente

Programación Multihilo
Por tanto, la multitarea basada en procesos actúa
sobre “tareas generales”, mientras que la multitarea
basada en hilos gestiona los detalles.
Los procesos son tareas mas pesadas, es decir
requieren más recursos. Los hilos por otra parte, son
tareas ligeras. La comunicación entre hilos como el
intercambio de contextos de un hilo al próximo tiene
un costo bajo. Programación Multihilo

Los programas de Java utilizan entornos multitarea
basadas en procesos, pero la multitarea basada en
procesos no está bajo el control de Java. Sin
embargo, la multitarea basada en hilos si.

Programación Multihilo

La multitarea basada en hilos permite escribir
programas muy eficientes que hacen uso óptimo del
CPU, ya que el tiempo que éste está libre sereduce
al máximo.

Programación Multihilo

En un entorno tradicional de un solo hilo, el
programa tiene que esperar a que se realice cada
tarea antes de procesar la siguiente, aunque el cpu
esté inactivo la mayor parte del tiempo.
La multitarea basada en hilos permite acceder y
aprovechar este tiempo de inactividad del CPU.

El modelo de hilos en Java

Los sistemas de un solo hiloutilizan un enfoque
denominado ciclo de evento con sondeo. En este
modelo, un solo hilo de control se ejecuta en un
ciclo infinito, sondeando una única cola de eventos
para decidir cual se procesará a continuación.

El modelo de hilos en Java

Hasta que un evento regrese el control, nada más
puede ocurrir en el sistema, y esto supone un
desaprovechamiento del CPU. En general, en un
entornode un solo hilo, cuando un hilo bloquea(es
decir, suspende la ejecución) porque está esperando
algún recurso, el programa entero se detiene.

El modelo de hilos en Java
La ventaja de la programación multihilo en Java es
que se elimina el mecanismo principal de ciclo/
sondeo. Un hilo puede detenerse sin paralizar el
resto de las partes del programa. Por ejemplo, el
tiempo de inactividadque se produce cuando un hilo
lee datos de la red o espera a que el usuario
introduzca información, puede ser aprovechado por
otro hilo.

El modelo de hilos en Java

Cuando en un programa Java, un hilo se bloquea,
solo ese hilo se detiene y todos los demás continúan
su ejecución.

El modelo de hilos en Java
Los hilos puede encontrarse en distintos estados. Un
hilo puede estarejecutándose o preparado para
ejecutarse tan pronto como se disponga de tiempo
de CPU. Un hilo que está ejecutándose puede estar
suspendido, lo que significa que temporalmente se
suspende su actividad. Un hilo suspendido puede
reanudarse, un hilo puede estar bloqueado cuando
se está esperando un determinado recurso y
cualquier instante un hilo puede detenerse, una vez
detenido, un hilo no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Multiprocesamiento multihilos
  • Multihilo
  • Multihilos
  • unidad 5 multihilos
  • Unidad IV Programación concurrente (Multihilo)
  • Multihilo java
  • programacion multihilo
  • Hilos Y Multihilos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS