Hilo (theread) llamado tambin proceso ligero o subproceso, es la unidad de ejecucin de un proceso y esta asociado con una secuencia de instrucciones un conjunto de registros y una pila. Cuando se crea un proceso el S.O crea su primer hilo (hilo primario) en la cual puede, a su vez, crear hilos adicionales. esto pone de manifiesto que un proceso no ejecuta, si no que es slo el espacio de direcciones donde reside el cdigo que es ejecutado mediante uno o ms hilos. 1234567891011121131415161718192021----- 4454647494950
contexto del hilo del sistema y comience a ejecutarlo. A continuacin, el mtodo run() de este hilo ser invocado en el nuevo contexto del hilo. Hay que tener precaucin de no llamar al mtodo start() ms de una vez sobre un hilo determinado. run()
El mtodo run() constituye el cuerpo de un hilo
en ejecucin. Este es el nico mtodo del interfaz Runnable. Es llamado por el mtodo start() despus de que el hilo apropiado del sistema se haya inicializado. Siempre que el mtodo run() devuelva el control, el hilo actual se detendr. sleep(long)
El mtodo sleep() provoca que el intrprete
ponga al hilo en curso a dormir durante el nmero de milisegundos que se indiquen en el parmetro de invocacin. Una vez transcurridos esos milisegundos, dicho hilo volver a estar disponible para su ejecucin. stop()
Este mtodo provoca que el hilo se detenga de
manera inmediata. A menudo constituye una manera brusca de detener un hilo, especialmente si este mtodo se ejecuta sobre el hilo en curso. En tal caso, la lnea inmediatamente posterior a la llamada al mtodo stop() no llega a ejecutarse jams, pues el contexto del hilo muere antes de que stop() devuelva el control. Una forma ms elegante de detener un hilo es utilizar alguna variable que ocasione que el mtodo run() termine de manera ordenada. En realidad, nunca se debera recurrir al uso de este mtodo. Igual que los procesos con un solo hilo de control, los hilos pueden encontrarse en unos de los siguientes estados. NUEVO.- El hilo ha sido creado pero aun no ha sido activado. Cuando se active pasar al estado preparado. PREPARADO.- El hilo est activado y le ha sido asignada la UCP. EN EJECUCIN.- El hilo est activo y le ha sido asignada la UCP(solo hilo activos preparados solo pueden ser ejecutados). BLOQUEADO.- El hilo espera que otro elimine el bloqueo de un hilo bloqueado. DORMIDO. -El hilo est bloqueado durante una cantidad de tiempo determinada despus de la cual despertar y pasar al estado preparado. ESPERANDO.-El hilo est esperando que ocurra alguna cosa:unacondicion,una operacin de E/S o adquirir la propiedad de un objeto sincronismo.Cuando ocurra, pasar al estado preparado. MUERTO.-El hilo ha finalizado (est muerto) pero todava no ha sido recogido por su padre.Los hilos muertos no pueden alcanzar ningn otro estado.