Hilos proceso java
Los hilos de proceso (threads) representan uno de los recursos más importantes de los que dispone un programador para crear aplicaciones complejas donde puede ser conveniente, o incluso necesario, realizar varias tareas de manera simultánea. El mecanismo de hilos de proceso de Java es sencillo, potente y productivo. De hecho muchos de los estándares de la plataforma Java, como por ejemplo los applets o los servlets, emplean hilos de proceso para llevar cabo algunas tareas en paralelo. Todo esto sucede de forma transparente al programador pero conviene entender y comprender cómo funciona con el fin de llegar a escribir aplicaciones que crean y usan sus propios hilos de manera explícita.
Probablemente …ver más…
Un proceso es un programa en ejecución, lo que abarca algo mucho más amplio. El sistema operativo debe tener los datos suficientes de cada proceso para poder ejecutarlo o para detener su ejecución en cualquier momento. A esta información se le denomina descriptor de un proceso y puede definirse como la fotografía que tiene el sistema operativo del proceso. Un descriptor de proceso contendrá fundamentalmente: valores actuales del contador de programa, de los registros y de las variables; archivos abiertos; etc. Gracias a los descriptores de proceso, el sistema operativo es capaz de interrumpir un proceso, ceder todos los recursos de la máquina a otro proceso entrante, y después de un tiempo, volver a retomar el primero de los procesos justo por el punto por donde fue interrumpido. A esta operación se la denomina cambio de contexto. Un cambio de contexto es una operación considerablemente pesada, ya que supone guardar toda la información del proceso saliente y restaurar la del proceso entrante.
El concepto de hilo de proceso (thread) nace con el fin de intentar separar esos dos aspectos de diseño: concurrencia y protección. Un hilo de proceso se puede definir como un hilo de ejecución dentro de un proceso. Los hilos de un mismo proceso comparten casi todo: ficheros abiertos, espacio de memoria, información de protección, temporizadores, señales, etc. Al mismo tiempo, cada hilo tiene también su parte privada: su propia pila, su propio contador de programa y su propio