eugeniaperez.es
1.3 Prioridades de hilos
En otras ocasiones hemos hablado de las prioridades de hilos.
Se sitúan desde 1 (MIN_PRIORITY) a 10 (MAX_PRIORITY)
En Java existe planificación por prioridad fija.
eugeniaperez.es
1.3 Prioridades de hilos
eugeniaperez.es
1.3 Prioridades de hilos
El hilo se ejecuta hasta que:
eugeniaperez.es
1.3 Prioridades de hilos
Los SOs Windows admiten la estrategia de planificación por división de tiempos a fin de evitar que un hilo se apodere del control de la CPU por un periodo de tiempo prologado -> selfish thread.
eugeniaperez.es
public int tick = 1;
public void run() {
while (tick < 10000000) {
tick++;
}
}
1.3 Prioridades de hilos
El algoritmo del sistema de ejecución de hilos de Java es de tipo preventivo -> el sistema elige siempre el hilo que aparezca con mayor prioridad para que pase a ser ejecutable.
eugeniaperez.es
1.3 Prioridades de hilos
eugeniaperez.es
Proyecto PSP.UT3.ThreadRace:
https://eugenia_perez@bitbucket.org/eugenia_perez/psp.ut3.threadrace.git
Usuario: cuatrovientos
Password: Cuatrovientos
1.3 Prioridades de hilos
eugeniaperez.es
En este ejemplo se muestra la ejecución de dos hilos con diferentes prioridades, tras iniciarlos, se duermen durante 5 seg. y se comprueba que tras ese tiempo, el hilo que tiene una prioridad mayor ha sido ejecutado más veces que el anterior.
1.3 Prioridades de hilos
eugeniaperez.es
Text
Constantes de prioridad
Métodos para establecer prioridades
1.3 Prioridades de hilos
eugeniaperez.es
Text
https://eugenia_perez@bitbucket.org/eugenia_perez/psp.ut3.a9philosopher.git
1.3 Prioridades de hilos
eugeniaperez.es
Text