psp-b1 hilos y procesos
UT 3: prioridades de hilos
eugeniaperez.es


UT 3: Prioridades de hilos

1.3 Prioridades de hilos
PRIORIDADES
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
UT 3: PRIORIDADES DE HILOS

1.3 Prioridades de hilos
PRIORIDADES
- La prioridad es un valor entero.
- Se hereda pero puede ser modificada -> setPriority()
- Cuando existen varios hilos compitiendo, el hilo con prioridad mayor pasa a ejecutarse.
- La máquina virtual/procesador cede el control en caso de que varios hilos tengan la misma prioridad.

eugeniaperez.es
UT 3: PRIORIDADES DE HILOS

1.3 Prioridades de hilos
PRIORIDADES
El hilo se ejecuta hasta que:
- Finalice o se detenga voluntariamente.
- Otro hilo con mayor prioridad irrumpa.
- Se produzca una operación de E/S.

eugeniaperez.es
UT 3: prioridades de hilos

1.3 Prioridades de hilos
PRIORIDADES
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++;
}
}

UT 3: prioridades de hilos

1.3 Prioridades de hilos
PRIORIDADES
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
UT 3: prioridades de hilos

1.3 Prioridades de hilos

eugeniaperez.es
descarga en bitbucket:
Proyecto PSP.UT3.ThreadRace:
https://eugenia_perez@bitbucket.org/eugenia_perez/psp.ut3.threadrace.git
Usuario: cuatrovientos
Password: Cuatrovientos
UT 3: prioridades de hilos

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.
UT 3: prioridades de hilos

1.3 Prioridades de hilos

eugeniaperez.es
Text


Constantes de prioridad
Métodos para establecer prioridades
UT 3: prioridades de hilos

1.3 Prioridades de hilos

eugeniaperez.es
Text
EJERCICIOS:
- Pág. 89 - Ejercicio 7: Serie Fibonacci con un Productor-Consumidor
- Pág. 90 - Ejercicio 8: Planificación de tareas
- Pág. 92 - Ejercicio 9: Los filósofos - No te preocupes si no sale... ;-)
-
https://eugenia_perez@bitbucket.org/eugenia_perez/psp.ut3.a9philosopher.git
UT 3: prioridades de hilos

1.3 Prioridades de hilos

eugeniaperez.es
Text
entrega 1 NOVIEMBRE 23:30:
- Pág. 89 - Ejercicio 7: Serie Fibonacci con un Productor-Consumidor
- Pág. 90 - Ejercicio 8: Planificación de tareas
UT.3 Prioridades de hilos
By eugenia_perez
UT.3 Prioridades de hilos
- 1,401