Unidad 3 multihilos

Páginas: 10 (2361 palabras) Publicado: 27 de septiembre de 2015
Unidad 3. Programación concurrente multihilo.
  Al escuchar la palabra multi-hilo, tal vez lo primero que te viene a la mente son muchos "hilos" de los que conocemos normalmente en casa, pero al hablar en términos de programación, no nos estamos refiriendo a esos "hilos".
   
   En programación, nos estamos refiriendo a los lenguajes de programación que permiten la ejecución de varias tareas enforma simultánea.

   Por ejemplo, consideremos la cantidad de aplicaciones que corren a la vez dentro de un mismo entrono gráfico. Mientras una persona escribe un documento, esta corriendo Microsoft Windows además de Internet Explorer, Windows Explorer, CD Player y el Control de Volúmen. Estas aplicaciones son ejecutadas dentro de alguna versión de Windows. De esta forma, podemos pensar que losprocesos son análogos a las aplicaciones o a programas aislados, pero realmente tiene asignado espacio propio de ejecución dentro del sistema.

   Java, es un lenguaje multihilo, ya que permite la ejecución de varias actividades en forma simultánea, tanto en un programa creado en este lenguaje como en el corazón mismo del lenguaje (en la parte interna). Teniendo como resultado, que se puedenusar hilos Java como standard, en cualquier plataforma.

3.1 Concepto de hilo.

   Los hilos o threads, son básicamente, pequeños procesos o piezas independientes de un gran proceso. También podemos decir, que un hilo es un flujo único de ejecución dentro de un proceso (un proceso es un programa ejecutándose dentro de su propio espacio de direcciones).

   Un hilo no puede correr por sí mismo, seejecuta dentro de un programa, ya que requieren la supervisión de un proceso padre para correr.  Se pueden porgramar múltiples hilos de ejecución para que corran simultáneamente en el mismo programa. La utilidad de la programación multihilo resulta evidente. Por ejemplo, un navegador Web puede descargar un archivo de un sitio, y acceder a otro sitio al mismo tiempo. Si el navegador puede realizarsimultáneamente dos tareas, no tendrá que esperar hasta que el archivo haya terminado de descargarse para poder navegar a otro sitio.

   Los hilos a menudo, son conocidos o llamados procesos ligeros. 

 3.2 Comparación.

   Un thread o hilo es, al igual que un proceso, un flujo de control que puede gozar de cierta autonomía (puede tener sus propias estructuras de datos), pero a diferencia de unproceso, diversos hilos dentro de una aplicación pueden compartir los mismos datos.

   El beneficio de ser multihilo, consiste en un mejor rendimiento interactivo y un mejor comportamiento en tiempo real.

   Aunque el comportamiento en tiempo real, esta limitado a las capacidades del sistema operativo sobre el que corre, aún supera a los entornos de flujo único de programa (single-thread) tantoen facilidad de desarrollo, como en rendimiento.

   Mientras los procesos mantienen su propio espacio de direcciones y entorno de operaciones, los hilos dependen de un programa padre en lo que se refiere a recursos de ejecución.

   En Java, los hilos comparten el mismo espacio de memoria. Incluso comparten gran parte del entorno de ejecución, de modo que la creación de nuevos hilos es mucho másrápida que la creación de nuevos procesos. La ventaja que proporcionan los hilos, es la capacidad de tener más de un camino de ejecución en un mismo programa.
3.3 Creación y control de hilos.
3.3.1. Atributos de hilos.

   Los atributos o propiedades de un hilo varían de una implementación a otra. Sin embargo, de forma general los atributos que definen un thread son:
Estado de espera:  permiteque otros hilos, esperen hasta que termine de ejecutarse un hilo en especial.
Dirección de stack. apuntador al inicio del stock del hilo.
Tamaño de la dirección: longitud del stock del hilo.
Alcance (scope): define quien controla la ejecución del hilo: el proceso o el núcleo del sistema operativo.
Herencia:  los parámetros de calendarización son heredados o definidos localmente.
Política de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • unidad 5 multihilos
  • Unidad IV Programación concurrente (Multihilo)
  • Unidad 3
  • unidad 3
  • unidad 3
  • unidad 3
  • unidad 3
  • Unidad 3

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS