Programacion con hilos en java

Solo disponible en BuenasTareas
  • Páginas : 14 (3490 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de septiembre de 2010
Leer documento completo
Vista previa del texto
Programación de Hilos 12 - 1

CAPITULO

12

Programación de Hilos
Objetivos
• • • • •

Utilizar la clase Timer para manejo de procesos que requieran ser controlados según intervalos de tiempo dados. Caracterizar aplicaciones que manejen multiples tareas Desarrollar aplicaciones que permitan manejar animaciones. Utilizar la clase Thread y la interface Runnable para el manejo de hilosdesde un programa. Indicar los elementos necesarios para el manejo de la sincronización de procesos



Introducción
En la naturaleza se presentan innumerables ejemplos de procesos que se realizan de manera parela, simultáneos o concurrentes. Por ejemplo, para el caso del lector, los procesos que está realizando todo su cuerpo integral, mientras realiza la acción consciente, de leer estepárrafo. En el plano de los sistemas artificiales, la concurrencia es un denominador común, el computador, la internet, los juegos, en los sistemas sofisticados de los automóviles modernos, las actuales comunicaciones inalambricas, etc. Por tales razones, la concurrencia es un fenómeno importante de tratar, ya que permite el desarrollo de sistemas capaces de adelantar, múltiples procesos simultáneamente.A su vez cada proceso se puede componer de múltiples

Programación de Hilos: Introducción 12 - 2 tareas, ejecutándose según ciertas reglas, de manera simultánea. Debe entenderse que, se hace referencia a procesos en el sentido de programas, y dentro de cualquier programa, la posibilidad de manejar, concurrentemente, múltiples tareas. Hasta el momento se han desarrollado programas que realizanuna sola tarea, entendiendose por tarea, un hilo de ejecución o un thread, tambien denominados de flujo único, en contraste con los programas que realizan más de una tarea, o de multitareas o multithreads, denominados de flujo múltiple. Especificamente una tarea se encarga de controlar un único aspecto, dentro de la ejecución de un programa, por ejemplo el manejo de gráficos, las entradas/salidasde archivos en disco, u otros. Las tareas se diferencian de los procesos, en que las primeras comparten los mismos recursos del programa que las contiene, en tanto los procesos tienen en forma separada su código, así como sus datos. Flujo único: un programa de flujo único (single-Thread) utiliza un solo hilo para controlar su ejecución. Por defecto, cualquier programa applet o aplicación Java,tiene un hilo denominado principal (Thread). En estos programas este hilo no necesita explicitarse, pues por defecto son de flujo único. Realizan las operaciones indicadas en un solo hilo o única tarea y terminan. En otros terminos, un programa en ejecución en Java es un hilo. Flujo múltiple: un programa de flujo múltiple o multitarea, utiliza varios contextos de ejecución para realizar su trabajo.Cada tarea se inicia y termina tan pronto como sea posible, lo cual es una facilidad para la entrada de datos en sistemas en tiempo real, especialmente si estos son de diferentes fuentes. En este caso, se dice que ademas del hilo principal del programa en ejección, este tiene otros hilos, o tareas parelas en ejecución. Se puede definir hilo como una secuencia única de control de flujo dentro de unprograma. Entendiendo que puede haber más de una secuencia de control o hilos. Java permite realizar programación multihilo, el cual consiste en programas que contienen dos o más partes que se ejecutan de manera concurrente. Una parte que se ejecuta independientemente de las demás se denomina un hilo (thread). En un entorno de multitarea basada en hilos, el hilo es la unidad de código más pequeñaque se puede seleccionar para ejecución. La programación basada en multihilos, permite escribir programas más eficientes ya que optimizan los recursos de la Unidad Central de Proceso (CPU), al reducir al mínimo los tiempos de inactividad. Este es un factor muy importante a tener en cuenta en el manejo de entornos interactivos, como es el caso del trabajo en la red, en donde

Programación de...
tracking img