En caso de que varios eventos ocurran simultáneamente la prioridad indica el orden en que serán manejados. Event provee ocho niveles de prioridad:
Nivel | Descripción | Por defecto |
-1 | manejo inmediato (asynchonous) | |
0 | Prioridad ordinaria mas alta | |
1 | ||
2 | disponible via la constante PRIO_HIGH | signal |
3 | ||
4 | disponible via la constante PRIO_NORMAL | idle, io, timer,var |
5 | ||
6 | prioridad mas baja |
En un constructor la prioridad se puede establecer mediante tres atributos:
prio
establece una prioridad explícita
nice
la determina mediante un desplazamiento del valor por defecto
async
establece un valor de -1
Recuerde que a la hora de establecer prioridades no es sólo importante considerar la urgencia de los eventos sino también garantizar que todo vigilante tiene una probabilidad no nula de que sus eventos sean manejados. De otro modo los eventos importantes y muy frecuentes pueden llegar a bloquear a los vigilantes con menos prioridad (apareciendo el fenómeno conocido como inanición o starvation).
Casiano Rodríguez León