Hilos En Java

Páginas: 11 (2570 palabras) Publicado: 14 de abril de 2012
Capítulo 8. Hilo y Sincronización.
* El modelo de hilo de Java
* Prioridades de hilo
* Sincronización
* Intercambio de mensajes
* Thread
* Runnable
* Prioridades de los hilos
* Sincronización
* La sentencia synchronized
* Comunicación entre hilos
* Bloqueos
* Resumen de la interfaz de programación (API) de hilos
* Métodos de clase* Métodos de instancia

La programación multihilo es un paradigma conceptual de la programación pro el cual se dividen los programs en dos o más procesos que se pueden ejecutar en paralelo. En un momento dado pueden haber datos de entrada de usuario a los que responder, animaciones y visualizaciones de interfaz de usuario, también cálculos grandes que podrían tardar varios segundos enterminar, y nuestros programas tendrán que tratar con estos temas sin provocar retrasos desagradables al usuario.
Lo interesante de todos estos procesos en paralelo es que la mayor parte de ellos realmente no necesitan los recursos completos de la computadora durante su vida operativa. El problema en los entornos de hilo único tradicionales es que se tiene que esperar a que se terminen cada una deestas tareas antes de proseguir con la siguiente. Aunque la CPU esté libre la mayor parte del tiempo, tiene que colocar las tareas en la cola ordenadamente.
El modelo de hilo de Java
Los sistemas multihilo aprovechan la circunstancia de que la mayoría de los hilos computacionales invierten la mayor parte del tiempo esperando a que un recurso quede disponible, o bien esperando a que se cumpla algunacondición de temporización. Si fuésemos capaces de describir todas las tareas como hilos de control independientes, conmutando de manera automática entre una tarea que esté lista para pasar a un modo de espera, y otra que sí tenga algo que hacer, conseguiríamos realizar una cantidad mayor de trabajo en le mismo intervalo de tiempo.
Java se diseño partiendo de cero, en un mundo en el que elentorno multihilo, a nivel de sistema operativo, era una realidad. El intérprete de Java hace uso intensivo de hilos para multitud de propósitos, y todas las bibliotecas de clases se diseñaron teniendo en mente el modelo multihilo. Una vez que un hilo comienza su tarea, puede suspenderse, lo que equivale a detener temporalmente su actividad. El hilo suspendido puede reanudarse, lo que supone quecontinúa su tarea allí donde la dejó. En cualquier momento, un hilo puede deteriores, finalizando su ejecución de manera inmediata. Una vez detenido, el proceso no puede reiniciarse.
Prioridades de hilo
El intérprete de Java utiliza prioridades para determinar cómo debe comportarse cada hilo con respecto a los demás. Las prioridades de hilo son valores entre 1 y 10 que indican la prioridad relativa deun hilo con respecto a los demás.
Sincronización
Ya que los hilos permiten y potencian el comportamiento asíncrono de los programas, debe existir alguna manera de forzar el sincronismo allí donde sea necesario. Por ejemplo, si desease que dos hilos se comunicasen para compartir una estructura de datos compleja (como una lista enlazada), necesitará alguna manera de garantizar que cada uno seaparte del camino del otro. Java incorpora una versión rebuscada de un modelo clásico para la sincronización, el monitor. La mayor parte de los sistemas multihilo implementan los monitores a modo de objetos, pero Java proporciona una solución más elegante: no existe la clase monitor, cada objeto lleva asociado su propio monitor implícito, en el que puede entrar sin más que hacer una llamada a losmétodos synchronized del objeto. Una vez que el hilo está dentro del método synchronized, ningún otro hilo puede efectuar una llamada a otro método synchronized sobre el mismo objeto.
Intercambio de mensajes
Una vez que el programa se ha dividido en sus partes lógicas, a modo de hilo, es preciso definir exactamente como se comunicarán entre si dichos hilos. Java utiliza los métodos wait y notify...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hilos en java
  • Hilos en java
  • Hilos De Java
  • Hilos en java
  • Programación con hilos en java
  • Trabajo hilos java
  • Hilos en java ok
  • Threads (hilos) java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS