Está en la página 1de 16

UNIVERSIDAD NACIONAL DE HUANCAVELICA

FACULTAD DE INGENIERÍA ELECTRÓNICA - SISTEMAS


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

LEPM 2019 - II
TALLER DE SISTEMAS DISTRIBUIDOS

HILOS
1
Ing. Luís E. Pacheco Moscoso
¿QUÉ SON LOS HILOS?

es un proceso de ejecución también


llamado proceso liviano como contraparte
a multiproceso que usa programas que se
denominan procesos pesados, un hilo es un
flujo secuencial de instrucciones pero que

LEPM 2019 - II
está dentro de un programa, no es un
programa independiente, es decir, un hilo
forma parte de un programa.

2
¿QUÉ SON LOS HILOS?

 Multiproceso:
 Dos o más programas (procesos) independientes
ejecución en forma "paralela".
 Cada proceso tiene su propio espacio de memoria,
su propio conjunto de variables, su propia pila, etc.

LEPM 2019 - II
 El control lo tiene el sistema operativo.
 Multihilo:
 Dos o más "tareas" ejecutándose en forma
"paralela" dentro de un programa.
 Comparten los recursos del programa.
 El control lo tiene el programa. 3
¿QUÉ SON LOS HILOS?

LEPM 2019 - II
4
¿QUÉ SON LOS HILOS?
¿Por qué usar hilos?
 Hacen un mejor uso de los recursos
 Se pueden ejecutar en el fondo (background)
mientras se espera por entrada del usuario.
 Evitan bloqueo del programa

LEPM 2019 - II
 Ejecutar tareas mientras se está leyendo de disco o
se espera por una conexión de red.
 Programas más adecuados
 Desplegar barra de progreso mientras se realiza
alguna tarea tardada.
 Programación más elegante y "fácil"
5
 Más estructuración en la programación
 Imprescindible" para animaciones
¿QUÉ SON LOS HILOS?
¿Por qué usar hilos?
 Hacen un mejor uso de los recursos
 Se pueden ejecutar en el fondo (background)
mientras se espera por entrada del usuario.
 Evitan bloqueo del programa

LEPM 2019 - II
 Ejecutar tareas mientras se está leyendo de disco o
se espera por una conexión de red.
 Programas más adecuados
 Desplegar barra de progreso mientras se realiza
alguna tarea tardada.
 Programación más elegante y "fácil"
6
 Más estructuración en la programación
 Imprescindible" para animaciones
¿QUÉ SON LOS HILOS?
El método run( )
 Método de la clase Thread, es el que realiza el trabajo,
el que se llama para que arranque un hilo su ejecución.
 Este método es el que se tiene que redefinir (override)
para que tu hilo haga algo.
 El método run en la clase Thread no hace nada

LEPM 2019 - II
 Cuando un objeto tiene en ejecución el método run(),
ese hilo esta compitiendo con los demás hilos activos
por recursos del sistema (CPU).
 Cuando un objeto termina la ejecución de su método
run( ), el hilo se "muere".
7
¿QUÉ SON LOS HILOS?

El método run es el corazón de un hilo,


de hecho es el método que se ejecuta, es un
método de la clase Thread, es el método
que tienes que redefinir para que tu hilo
haga algo, lo que tu quieras que se ejecute

LEPM 2019 - II
como parte de un hilo tiene que ir dentro
del método run.

8
¿QUÉ SON LOS HILOS?

Dos maneras de crear un hilo de ejecución


 Extender la clase Thread, reprogramando el
método run ( ) que está vacío.
 La manera natural de crear hilos.

LEPM 2019 - II
 Implementar la interfaz Runnable,
programando el método run ( ).
 En caso de que los objetos que se quieren
ejecutar en un hilo pertenezcan a una clase
que extiende a otra
9
¿QUÉ SON LOS HILOS?
utilizando la herencia hacia la clase thread

LEPM 2019 - II
10
¿QUÉ SON LOS HILOS?
utilizado la implementación de la interfaz runnable

LEPM 2019 - II
11
Ejemplo 1

LEPM 2019 - II
12
Ejemplo 2

LEPM 2019 - II
13
Ejercicio 1
1. Se pide desarrollar un programa en Java que me
permita a través de un hilo, ejecutar un proceso
que contabilice numeros desde el 1 hasta el 10
y vaya mostrando por pantalla dichos numeros
,la cual tenga un tiempo de retardo de 1000
milisegundos en pasar de un numero al otro.

LEPM 2019 - II
2. Se pide desarrollar un programa en Java que me
permita a través de dos hilos, no sincronizados
mostrar una serie de mensajes como nos
muestra en la siguiente figura :

14
Ejercicio 2
1. Se pide desarrollar un programa en Java que me
permita a través de dos hilos, no sincronizados
mostrar una serie de mensajes como nos
muestra en la siguiente figura :

LEPM 2019 - II
2. En función al ejercicio anterior, desarrollar un
programa en un formulario donde se muestre lo
siguiente :

15
LEPM 2019 - II
16

También podría gustarte