Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Id Java 2, incluyena Programación concurrente: Hilos de ejecución 31 7 mayor prioridad que el que está en ese momento ejecutándose pasa al estado Ejecutable, <<arrebatarán la UCP al que se encuentra en ejecución. El problema exige tener cuidado con los algoritmos para que resulten independientes de la pla- taforma y sólo se presenta ante hilos de idéntica prioridad, y métodos que pueden ayudar a resolverlo son sleep y y i e l d . El método sleep quita el control de la UCP a un hilo con cualquier prioridad, ofreciendo oportunidad para que otros se ejecuten. Además, un hilo puede ceder su derecho de ejecución efectuando una llamada al método yield, pero sólo a hilos adecuados y disponibles; es decir, a hilos ejecutables con igual prioridad que el mismo, por lo que éste método no asegura que el hilo actual detenga su ejecución. Es redundante en los sistemas con repartición de tiempo por turno circular. Los métodos suspend y resume pertenecen a versiones anteriores y ya no se usan en En Java la prioridad de los hilos por omisión es 5 y, cuando se crea uno nuevo, hereda la prioridad del que lo creó. La prioridad podrá ser modificada mediante el método ' Java2. public final void secpricrity (int pl) al que se le pasa como parámetro valores numéricos 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 método public final int getPriority() 12.5. HILOS DE TIPO DEMONIO Un demonio es un hilo cuyo propósito es ofrecer servicios a otros hilos de ejecu- ción existentes dentro del mismo proceso. El intérprete de Java permanece en eje- cución hasta que todos los hilos de un programa finalizan su ejecución, pero no espera a que terminen cuando éstos han sido establecidos como demonios. Para especificar que un hilo de ejecución es de tipo demonio, se deberá realizar una lla- mada al método public final void setDaernon (boolean pl) pasándole como argumento true. Para determinar si un hilo es de este tipo, se deberá llamar al método public final boolean isDaernon ( )
Compartir