Hilo (theread) llamado también proceso ligero o
subproceso, es la unidad de ejecución de un proceso y
esta asociado con una secuencia de instrucciones un
conjunto de registros y una pila.
PROCESOS E HILOS
CICLO DE UN HILO CON SU DESCRIPCION
Un hilo tiene un ciclo de vida que va desde su creación
hsta su terminación. Durante su ciclo de vida cada uno
de los hilos o tareas de una aplicación puede estar en
diferentes estados, algunos de los cuales se indican a
continuación:
• Nacido: Cuando se acaba de
crear un hilo, se dice que está
nacido, y continúa en ese estado
hasta que se invoca el método
start() del hilo.
• Listo: Cuando se invoca el
método start() del hilo, se dice que
está en estado listo. El método se
arranca con la siguiente
instrucción, para el caso del hilo
miHilo: miHilo.start();
• Ejecutable: cuando el método start() se ejecuta,
crea los recursos del sistema necesarios para
ejecutar el thread,programa el thread para
ejecutarse, y llama al método run() del thread que
se ejecuta en forma secuencial.
• En ejecución: Un hilo en estado de listo de la más
alta prioridad, pasa al estado de ejecución, cuando
se le asignan los recursos de un procesador, o sea
cuando inicia su ejecución. Aquí el thread está en
ejecución.Cada hilo tiene su prioridad, hilos con alta
prioridad se ejecutan preferencialmente sobre los
hilos de baja prioridad.
• No ejecutable: Por ejemplo, en el siguiente
fragmento de codigo se pone a dormir miHilo durante
10 segundos (10.000 milisegundos): Thread miHilo =
new MiClaseThread(); miHilo.start(); try {
miHilo.sleep(10000); } catch (InterruptedException e){
}
• Muerto: Un hilo pasa
al estado de muerto
cuando se termina su
método run(), o cuando
se ha invocado su
método stop().
• Bloqueado: un hilo se
encuentra en el estado
bloqueado cuando el hilo realiza
una solicitud de entrada/salida.
Cuando termina la
entrada/salida que estaba
esperando, un hilo bloqueado
queda en el estado listo.
CLASES, INTERFACES Y METODOS EN JAVA
PARA LA CREACION Y CONTROL DE HILOS
SINCRONIZACION DE HILOS
Cuando se están utilizando hilos múltiples,
algunas veces es necesario coordinar las
actividades de dos o más. La razón más
común para la sincronización es cuando dos
o más hilos necesitan acceso a un recurso
compartido que sólo puede ser utilizado por
un hilo a la vez. Otra razón para la
sincronización es cuando un hilo está
esperando un evento causado por otro hilo.
En este caso, debe de haber algún medio
por el cual el primer hilo se mantenga en
estado suspendido hasta que el evento
ocurra.
MULTIPROCESAMIENTO
es el uso de dos o más procesadores
(CPU) en una computadora para la
ejecución de uno o varios procesos
(programas corriendo).
MULTIPROGRAMACION
permite administrar varios procesos en
una sola CPU, alternando la ejecución de
estos a través de controles de tiempo,
asignando límites temporales de
ejecución a cada proceso y alternándolos
a medida que este limite es alcanzado.
ARQUITECTURAS FISICAS: SISTEMAS UNIPROCESADOR Y
SISTEMAS MULTIPROCESADOR (FUERTEMENTE
ACOPLADOS Y DEBILMENTE ACOPLADOS)