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... ;-) 
  • PSP.UT3.A9Philosopher

  • 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
  •  

 

Made with Slides.com