Sie sind auf Seite 1von 12

CICLO DE VIDA DE UN THREAD.

INTEGRANTES: RODRIGUEZ HERNANDEZ DANIEL JACOB MENDEZ MEDINA BRIANDA WALLE WONG ANTONIO CRUZ IGNACIO HELDER

5:1 LA CLASE THREAD.


Es

la clase que encapsula todo el control necesario sobre los hilos de ejecucin. La clase Thread es la nica forma de controlar el comportamiento de los hilos.

5.2 MTODOS DE CLASE.


CurrentThread (): Este mtodo devuelve el Thread que se esta ejecutando en este momento. Yield (): Este mtodo libera el procesador para que pueda ser utilizado por otros Thread, esto no significa que el Thread se detenga definitivamente sino que simplemente indica al amplificador que pase a ejecutar a otro Thread. Sleen (long): Este mtodo interrumpe la ejecucin del hilo en curso durante el numero de milisegundos que se indiquen en el parmetro del tipo long. ActiveCount (): Este mtodo devuelve el numero de Thread activos dentro del grupo donde esta incluido el Thread en ejecucin.

5.3 MTODOS DE INSTANCIA.

Start (), Stop (), Run (), Destroy (): Estos mtodos son los que controlan el funcionamiento bsico del Thread, esta implementacin realiza diversas tareas de iniciacin antes de invocar el mtodo Run (). El programador puede utilizar Start () para aadir cdigo adicional de iniciacin, como se pueden imaginar Stop () sirve para indicar al Thread que debe terminar su ejecucin, mientras que Destroy () tiene como cometido liberar todos los recursos que pudieran estar emplendose.

GetName (), SetName (): Los Threads pueden tener asociado un nombre, lo que facilita las labores de depuracin o incluso la creacin de trazas en el cdigo, una de las formas para asignar este nombre es mediante el mtodo SetName (). Adems del mtodo SetName () existen constructores de la clase Thred en los que se pueden especificar el nombre que se desea asignar. GetPriority (), SetPriority (): Puede asignarse una prioridad a cada Thread, de modo que asigne mas tiempo de ejecucin a los Threads mas prioritarios. La prioridad de un Thread ha de estar comprendida entre los valores MIN_PRIOROTY y MAX_PRIORITY.

GetThreadGroup: Este mtodo obtiene el grupo donde esta contenido el Thread, no existe mtodo GetThreadGroup (), por consiguiente debe emplearse alguna versin del constructor para indicar el grupo a donde se desea que pertenezca el Thread. Suspend (): Este mtodo es distinto de Stop (), Suspend () toma el hilo y provoca que se detenga su ejecucin sin destruir el hilo. Resume (): Este mtodo se utiliza para revivir un hilo suspendido, no hay garantas de que el hilo comience a ejecutarse inmediatamente ya que puede un hilo de mayor prioridad en ejecucin.

IsAlive (): Este mtodo devuelve el true si el hilo ha sido arrancado y no ha sido detenido. Por ello si este mtodo devuelve false sabemos que estamos ante un nuevo Thread muerto y se devuelve true. Join (): Este mtodo detiene el hilo actual hasta que termite que el hilo sobre el que se llama, es usado por tanto para que unos hilos esperen a la finalizacin de otros.

5.4 ESTADOS DE UN THREAD.

Durante el ciclo de vida de un hilo, este se puede encontrar en diferentes estados como se muestra en la siguiente figura.

5.4.1 NUEVO THREAD.


La siguiente sentencia crea un nuevo hilo de ejecucin pero no lo arranca, lo deja en estado de Nuevo Thread: Thread Mi Thred = new MiClaseThread (hiloA) Cuando un hilo esta en este estado, es simplemente un objeto Thread vaco, desde este estado solamente puede arrancarse llamando al mtodo Start (), o detenerlo definitivamente llamando al mtodo Stop ().

5.4.2 EJECUTABLE.
Thread MiThred = new MiClaseThread (); MiThread.start (); La llamad al mtodo start () reserva los recursos del sistema necesario para que el hilo pueda ejecutarse, lo incorpora a la lista de procesos disponibles para ejecucin del sistema y llama al mtodo run () del hilo en ejecucin. En este momento se encuentra en el estado ejecutable del diagrama, y este estado es ejecutable y no ejecutable, porque cuando el hilo esta aqu no significa que este en corriente.

5.4.3 PARADO.

Un hilo de ejecucin entra en estado parado cuando alguien llama al mtodo suspend (), cuando se llama al mtodo Sleep (), cuando el hilo esta bloqueado en un proceso de entrada/salida o cuando el hilo utiliza su mtodo wait () para esperar a que se cumpla una determinada condicin.

5.4.4 MUERTO.
Un hilo de ejecucin se puede morir de dos formas: por causas naturales o porque lo maten (con Stop), un hilo muere normalmente cuando concluye su mtodo run (), un hilo morira de forma natural despus de que se complete el bucle y run () concluya. El mtodo stop () enva un objeto ThreadDeath al hilo de ejecucin que quiere detener, as cuando el hilo es parado de este modo muere asncronamente. Los applets utilizaran el mtodo stop () para matar a todos sus hilos.

Das könnte Ihnen auch gefallen