Investigación Hilos en java

4
Universidad Piloto de Colombia Área común de Informática AI00023 – Abstracción de Datos Guía de laboratorio 0 – Investigación Hilos Nombre: Angie Tamayo Código: _____________ Objetivo: Conocer el concepto de Hilo y multihilo en Java, su utilidad y formas de programación. Procedimiento: Investigación y autoaprendizaje. Preparación y creación del proyecto: 1. INVESTIGUE Y EXPLIQUE O RESPONDA (RELACIONE LAS FUENTES UTILIZADAS): a. ¿Que son Hilos y Multihilos en Java? Los hilos (threads) y multihilos (multithreads) en java es un sistema que es capaz de ejecutar varias tareas simultáneamente, la palabra thread hace referencia a un flujo de control dentro de un programa. La capacidad que permiten los thereads a un programa consiste en que se pueden ejecutar más de un hilo a la vez. Los hilos comparten los datos del programa (además pueden tener datos propios) y esto hace que el control sea más sencillo. b. ¿Por qué el lenguaje JAVA se considera multiproceso? Porque Java crea la posibilidad de la creación y control de hilos de ejecución. La utilización de hilos y multihilos (threads, multithereads) en Java, permite una enorme flexibilidad a la hora de programar y de plantearse el desarrollo de aplicaciones. La simplicidad para crear, configurar y ejecutar hilos, permite que se puedan implementar útiles y portables aplicaciones y applets que no se puede con otros lenguajes de programación.

description

Explicacion de hilos y multihilos en java

Transcript of Investigación Hilos en java

Universidad Piloto de Colombia

rea comn de Informtica

AI00023 Abstraccin de DatosGua de laboratorio 0 Investigacin Hilos

Nombre: Angie Tamayo Cdigo: _____________Objetivo: Conocer el concepto de Hilo y multihilo en Java, su utilidad y formas de programacin.

Procedimiento:

Investigacin y autoaprendizaje.

Preparacin y creacin del proyecto:

1. INVESTIGUE Y EXPLIQUE O RESPONDA (RELACIONE LAS FUENTES UTILIZADAS):a. Que son Hilos y Multihilos en Java? Los hilos (threads) y multihilos (multithreads) en java es un sistema que es capaz de ejecutar varias tareas simultneamente, la palabra thread hace referencia a un flujo de control dentro de un programa. La capacidad que permiten los thereads a un programa consiste en que se pueden ejecutar ms de un hilo a la vez. Los hilos comparten los datos del programa (adems pueden tener datos propios) y esto hace que el control sea ms sencillo.b. Por qu el lenguaje JAVA se considera multiproceso? Porque Java crea la posibilidad de la creacin y control de hilos de ejecucin. La utilizacin de hilos y multihilos (threads, multithereads) en Java, permite una enorme flexibilidad a la hora de programar y de plantearse el desarrollo de aplicaciones. La simplicidad para crear, configurar y ejecutar hilos, permite que se puedan implementar tiles y portables aplicaciones y applets que no se puede con otros lenguajes de programacin.

c. Cmo se crea un Hilo en JAVA? La forma ms directa para hacer un hilo en java es extender la clase Thread, y definir el mtodo run(). Este mtodo es invocado cuando se inicia el hilo, mediante una llamada al mtodo start() de la clase Thread(). El hilo se inicia con la llamada al mtodo run () y termina cuando este termina este.d. Para qu y cmo se utiliza la clase Thread? La clase Thread crea objetos cuyo cdigo se ejecuta en un hilo aparte. Permite iniciar, controlar y detener hilos de un programa. Un nuevo thread se crea con un nuevo objeto de la clase java.lang.Thread. Para lanzar hilos se utiliza esta clase a la que se la pasa el objeto Runnable.

e. Para qu y cmo se utiliza la interface Runnable? Cada clase definida con la interface Runnable es un objetivo de un thread (Hilo). El cdigo de run ser lo que el thread ejecute. La clase Thread implementa la interface Runnable, con lo que si se crea clases heredadas, se debe implementar run. La construccin de objetos Thread se realiza mediante un constructor que recibe un objeto Runnable.

f. Cules son los principales mtodos utilizados para el control de Hilos?Los principales mtodos utilizados para el control de hilos en java son:1. void interrupt () : Solicita la interrupcin del hilo.

2. static void sleep(int milisegundos): Duerme el Thread actual durante un cierto nmero de milisegundos.

3. static Thread currentThread(): Obtiene un objeto Thread que representa al hilo actual.

4. void start(): Lanza la ejecucin de este hilo, para ello ejecuta el cdigo del mtodo run asociado al Thread.5. setPriority(int): Establece la prioridad del hilo, puede generar una excepcin.getPriority(): devuelve la prioridad del hilo.g. En qu consiste la sincronizacin de Hilos? La sincronizacin de hilos es cuando dos threads diferentes acceden a los mismos datos. Un primer problema ocurre cuando un mtodo de un thread es interrumpido por otro thread de mayor prioridad. Por ejemplo: Un thread que usa un valor x y le multiplica por dos. Si desde que lee x hasta que la multiplica por dos, otro thread cambia el valor de x, entonces la multiplicacin no es correcta. Para que un mtodo no sea interrumpido por un thread externo, se utiliza la palabra clave synchronized.h. Cundo se deben utilizar Hilos en un programa? Los hilos en java se deben utilizar cuando el flujo del programa sea divido en dos o ms partes, cada una ocupndose de alguna tarea de forma independiente. Por ejemplo un hilo puede encargarse de la comunicacin con el usuario, mientras que otros actan en segundo plano.

2. CON AYUDA DE INTERNET CREE UN PROGRAMA EJEMPLO DONDE SE DEMUESTRE EL FUNCIONAMIENTO DE LOS HILOS EN JAVA, COPIE A CONTINUACIN EL CDIGO:

Bibliografa:

http://www.jorgesanchez.net/programacion/manuales/Java.pdf http://www.infor.uva.es/~fdiaz/sd/doc/hilos_1218264464.bin