Está en la página 1de 2

Id

Java 2, incluyena

Programacin concurrente: Hilos de ejecucin

'

317

mayor prioridad que el que est en ese momento ejecutndose pasa al estado
Ejecutable, <<arrebatarnla UCP al que se encuentra en ejecucin. El problema
exige tener cuidado con los algoritmos para que resulten independientes de la plataforma y slo se presenta ante hilos de idntica prioridad, y mtodos que pueden
ayudar a resolverlo son sleep y y i e l d .
El mtodo sleep quita el control de la UCP a un hilo con cualquier prioridad,
ofreciendo oportunidad para que otros se ejecuten. Adems, un hilo puede ceder su
derecho de ejecucin efectuando una llamada al mtodo yield,pero slo a hilos
adecuados y disponibles; es decir, a hilos ejecutables con igual prioridad que el
mismo, por lo que ste mtodo no asegura que el hilo actual detenga su ejecucin.
Es redundante en los sistemas con reparticin de tiempo por turno circular. Los
mtodos suspend y resume pertenecen a versiones anteriores y ya no se usan en
Java2.
En Java la prioridad de los hilos por omisin es 5 y, cuando se crea uno nuevo,
hereda la prioridad del que lo cre. La prioridad podr ser modificada mediante el
mtodo
public final void secpricrity (int pl)

al que se le pasa como parmetro valores numricos enteros comprendidos entre


M I N PRIORITY (constante que vale i ) y MAX P R I O R I T Y (constante que vale
IO), definidas en la clase Thread. Cuanto mayor sea el valor entero, mayor ser
el nivel de prioridad que indica. Para obtener la prioridad de un hilo se utiliza el
mtodo
public final int getPriority()

12.5. HILOS

DE TIPO DEMONIO

Un demonio es un hilo cuyo propsito es ofrecer servicios a otros hilos de ejecucin existentes dentro del mismo proceso. El intrprete de Java permanece en ejecucin hasta que todos los hilos de un programa finalizan su ejecucin, pero no
espera a que terminen cuando stos han sido establecidos como demonios. Para
especificar que un hilo de ejecucin es de tipo demonio, se deber realizar una llamada al mtodo
public final void setDaernon (boolean pl)

pasndole como argumento true. Para determinar si un hilo es de este tipo, se


deber llamar al mtodo
public final boolean isDaernon

()

También podría gustarte